PJ Reiniger
c350c5f112
SCRIPT Move java files
2025-11-07 23:09:21 -08:00
PJ Reiniger
7ca1be9bae
SCRIPT Move cc files
2025-11-07 23:09:21 -08:00
Tyler Veness
3bdaeac3e1
[build] Upgrade to Doxygen 1.15.0 ( #8328 )
2025-11-02 05:18:58 -08:00
Tyler Veness
bc44ced506
[upstream_utils] Upgrade to fmt 12.1.0 ( #8312 )
2025-11-01 16:19:37 -07:00
PJ Reiniger
49e84c6b52
[robotpy] Sync robotpy ( #8318 )
...
Project import generated by Copybara.
GitOrigin-RevId: f6818c55dda55da1226e47a05a22d30f7cc477f1
2025-11-01 10:28:05 -07:00
Peter Johnson
cc043df07f
Merge branch 'main' into 2027
2025-11-01 09:39:08 -07:00
Tyler Veness
4aef52a117
[ci] Upgrade to wpiformat 2025.36 ( #8308 )
...
clang-format 21 made some formatting changes. Since wpiformat's stdlib
task was removed, I removed NOLINT comments for it and removed some
std:: prefixes it added to comments.
2025-10-28 20:17:04 -07:00
Austin Schuh
51fbde777b
[bazel] Package headers in ntcoreffi correctly ( #8170 )
...
* [bazel] Package headers in ntcoreffi correctly
The original package includes headers from ntcore and wpiutil, so
include those too.
* Merge in new 2027
2025-10-25 21:17:43 -07:00
PJ Reiniger
44b9cc1398
[robotpy] Mirror most other subprojects ( #8208 )
...
GitOrigin-RevId: ac60fd3cf4a24023184376687da28373d14b781a
This mirrors the robotpy files for the following projects:
- apriltag
- datalog
- hal
- ntcore
- romiVendordep
- wpilibc
- wpimath
- xrpVendordep
This excludes cscore and the halsim wrappers for at this time.
NOTE: This does not hook these projects up to the build system, just simply mirrors the files. The building will take place in a follow up PR to make it easier to review the changes necessary to build.
2025-10-23 22:28:04 -07:00
Peter Johnson
7ff312bb69
Merge branch 'main' into 2027
2025-10-06 19:43:02 -07:00
Peter Lilley
f1b9be551b
[wpiutil] Add reverse/bidirectional iterators to wpi::circular_buffer ( #8275 )
...
Use std::reverse_iterator<> to create reverse iterators, make other
iterators bidirectional to allow for this. Added unit tests.
2025-10-03 23:13:55 -07:00
Joseph Eng
5e7e5306df
[wpiutil] Update StructSerializable contract (NFC) ( #7441 )
...
Matches ProtobufSerializable. This is necessary for generic types.
2025-09-30 14:57:42 -06:00
Gold856
6447011bc3
[ci] Consolidate docs jobs ( #7910 )
...
We build docs in three different places, which is annoying to deal with, and it means we build docs two more times than necessary. Now, docs are built just once in the main Gradle workflow, with warnings promoted to errors, eliminating the need for the separate job in lint-format.yml. The uploaded docs artifact is then unpacked and commited to the GitHub Pages repo like normal.
2025-09-29 18:02:42 -07:00
Tyler Veness
bd5141e254
[upstream_utils] Upgrade to fmt 12.0.0 ( #8263 )
2025-09-29 11:45:15 -07:00
Peter Johnson
ef676aca70
Merge branch 'main' into 2027
2025-09-25 22:17:00 -07:00
Tyler Veness
ab53d51c6f
Fix or suppress clang-tidy warnings ( #8254 )
2025-09-25 21:28:04 -07:00
Peter Johnson
1ce2854a1e
Merge branch 'main' into 2027
2025-09-20 11:19:40 -07:00
Peter Johnson
855ef10d58
[wpiutil] DynamicStruct: Make GetEnumValues() const ( #8223 )
...
Also remove unnecessary include.
2025-09-12 07:27:43 -07:00
Peter Johnson
90d90f334d
[wpiutil] Add alloc_wpi_string() and copy_wpi_string() ( #8222 )
...
These are useful to allocate a WPI_String, rather than referencing existing data.
2025-09-12 07:27:09 -07:00
Peter Johnson
f8ed2a4d92
[wpiutil] Synchronization: fix shutdown use-after-free ( #8213 )
...
Also in ntcore, join the notifier thread on shutdown.
This prevents tsan from reporting it as a leaked thread.
2025-09-08 21:15:00 -07:00
Gold856
5cd97c6353
[upstream_utils] Add Catch2 ( #8203 )
2025-09-08 15:14:23 -06:00
Tyler Veness
632749e6f3
[build] Upgrade Maven dependencies ( #8173 )
2025-09-01 08:13:46 -07:00
PJ Reiniger
bd1dcc4358
[bazel][robotpy] Add mirror for robotpy's wpiuil and wpinet libraries ( #8062 )
...
Project import generated by Copybara.
GitOrigin-RevId: 92ea93d1b47a82667044bd0af05f7fdb34d2c2c2
2025-08-30 11:55:11 -07:00
Gold856
d4311d5a29
[wpiutil,glass,dlt] Replace libprotobuf with upb for dynamic decode ( #7988 )
...
libprotobuf is a very annoying dependency to deal with, and with the switch to nanopb for generated C++ code, libprotobuf is only used for dynamic decode in the GUI apps. libprotobuf has been swapped out with upb, a much smaller C-based library that supports reflection and can therefore do dynamic decode. This means we can remove the libprotobuf dependency and stop dealing with build issues because of it.
2025-08-16 22:56:32 -07:00
Peter Johnson
f89cf2e441
Merge branch 'main' into 2027
2025-08-09 00:55:56 -07:00
Peter Johnson
3e4e9c9b01
Merge branch 'main' into 2027
2025-08-09 00:55:26 -07:00
Iris
78fa67099e
[build] Small fixes to build on GCC 15 ( #8148 )
...
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2025-08-09 00:07:41 -07:00
Tyler Veness
9ac7e286f5
[build] Upgrade Gradle plugins ( #8166 )
...
I upgraded all plugins I could see except org.ysb33r.doxygen. 2.0 made
breaking changes, and I couldn't figure out how to migrate.
Most of the changes are for suppressing new linter purification rites.
2025-08-08 23:04:02 -07:00
Austin Schuh
13852760f6
[bazel] Build wpilibc docs with doxygen ( #8157 )
...
Signed-off-by: Austin Schuh <austin.linux@gmail.com >
2025-08-04 23:49:47 -06:00
Austin Schuh
12223ff188
[bazel] Implement cscore shared libraries ( #8089 )
...
Use all our fancy new linking code to link cscore properly. nm reports that the symbols look quite good.
Signed-off-by: Austin Schuh <austin.linux@gmail.com >
Co-authored-by: PJ Reiniger <pj.reiniger@gmail.com >
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com >
2025-07-31 21:04:22 -07:00
Austin Schuh
db95f55394
[bazel] Handle debug symbols and debug builds like gradle ( #8118 )
...
This follows the gradle build accurately. Gradle copies debug symbols
into a second file (libfoo.so.debug) and links it back into the .so
file. Disable this behavior when gradle doesn't do it today.
Also, name everything correctly. When building debug builds, most
libraries get a 'd' at the end of them. Do that here too.
2025-07-30 20:07:06 -07:00
Jade
e93c8cdb29
[build] Upgrade to Java 21 ( #7547 )
...
Signed-off-by: Jade Turner <spacey-sooty@proton.me >
Co-authored-by: sciencewhiz <sciencewhiz@users.noreply.github.com >
2025-07-25 15:45:40 -07:00
PJ Reiniger
c78bd942bb
[bazel] Make publishers for c++ hdr / srcs, and java ( #8114 )
2025-07-24 09:11:09 -04:00
Austin Schuh
60098b0685
[bazel] Build a single maven artifact bundle ( #8049 )
...
Signed-off-by: Austin Schuh <austin.linux@gmail.com >
Co-authored-by: PJ Reiniger <pj.reiniger@gmail.com >
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com >
2025-07-22 14:26:20 -06:00
PJ Reiniger
b85a0d5cf3
[build] Add missing sources to published zip files ( #8055 )
...
Gradle publishing does not capture all of the source files that are used during a build. This should get most of them, and get it equivalent to what bazel pushes out.
2025-07-15 21:20:28 -07:00
Ryan Blue
fa08679762
[wpiutil] Enable priority_mutex for systemcore ( #8071 )
2025-07-11 08:29:44 -05:00
Kevin-OConnor
72d7a07635
[upstream_utils] Update fmt to recent commit ( #8077 )
...
Fixes crash seen in SystemCore Java debugging.
2025-07-10 17:00:25 -05:00
Thad House
0304f50141
[wpiutil] Use steady_clock directly on SystemCore ( #8053 )
...
Don’t offset it from program start time.
This will make it much easier to coordinate timestamps across the system.
Closes #8041
2025-07-04 08:18:03 -05:00
PJ Reiniger
1ccafdc13f
[bazel] Simple shared library implementation ( #8044 )
2025-07-01 22:53:34 -07:00
Peter Johnson
82ce317083
Merge branch 'main' into 2027
2025-06-30 20:21:11 -07:00
PJ Reiniger
e13d237390
[bazel] Create better static libraries and add basic publishing ( #8029 )
2025-06-27 16:36:12 -07:00
Gold856
22b58c1853
[upstream_utils] Upgrade to LLVM 20.1.7 ( #8033 )
...
Also removes xxhash, Hashing, and MapVector to reduce the size of the patches and to speed up compile times by a smidge.
2025-06-24 22:36:22 -07:00
Tyler Veness
ddc5220ed4
[upstream_utils] Remove memory library ( #8035 )
...
We added this in 2022. If we haven't used it by now, we probably never
will and it's just wasting space.
2025-06-24 22:35:30 -07:00
PJ Reiniger
fbbc4bc53c
[bazel] Clean up bazel scripts ( #7984 )
2025-06-13 20:53:09 -07:00
Thad House
2af8c59858
Replace /home/lvuser with /home/systemcore ( #8002 )
2025-06-02 16:42:56 -07:00
PJ Reiniger
6e3f48daeb
[bazel] Add scripts to validate pregeneration tools ( #7690 )
2025-05-13 22:01:47 -07:00
Peter Johnson
0a38400734
[datalog] Finish up a few missed moves from wpiutil split ( #7956 )
2025-05-04 11:21:29 -07:00
Jonah Snider
a4572a01b7
[wpiutil] Add nested struct schemas before parent schema ( #7935 )
...
When adding struct schemas, the current logic is to add the parent/outer schema, and then add the schemas for any nested inner schemas. This reverses that order to make it easier for tools to process.
Matches C++ logic.
2025-04-29 20:52:27 -07:00
Peter Johnson
36811211be
Merge branch 'main' into 2027
2025-04-25 23:45:43 -07:00
Tyler Veness
92010c175f
Fix more emscripten compiler errors ( #7895 )
...
I ran the CMake configure with:
```bash
emcmake cmake -B build-wasm -S . \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_SIMULATION_MODULES=OFF \
-DWITH_PROTOBUF=OFF \
-DWITH_GUI=OFF \
-DWITH_CSCORE=OFF
```
* Turned off simulation modules because they require shared libraries
* Turned off GUI because glfw requires libssh
* Turned off cscore because it requires OpenCV
I still get the following compiler errors:
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/linux.cpp:43:10: fatal error: 'sys/epoll.h' file not found
43 | #include <sys/epoll.h>
| ^~~~~~~~~~~~~
```
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/stream.cpp:991:56: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
991 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) {
| ^~~~~~~~~~~~~~~~~~~~~~
/home/tav/.cache/emscripten/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/core.cpp:748:56: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
748 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg))
| ^~~~~~~~~~~~~~~~~~~~~~
/home/tav/.cache/emscripten/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2025-04-25 21:56:26 -07:00