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
Jonah Snider
ea986427aa
[wpiutil] Add Kaitai Struct definition for data log format ( #7882 )
...
Adds a Kaitai Struct definition for the WPILOG format. This can be used to generate code to read/write data log files without needing to build out a parser/serializer by hand. Or just an additional resource for readers to help understand the WPILOG format.
2025-03-27 16:51:13 -06:00
Tyler Veness
71b6e8ec58
[wpiutil] Avoid including execinfo.h for Emscripten target ( #7854 )
2025-03-06 23:15:22 -08:00
Tyler Veness
d3cc185382
[upstream_utils] Upgrade to fmt 11.1.4 ( #7852 )
2025-03-04 18:50:56 -08:00
Peter Johnson
98f933eca5
Merge branch 'main' into 2027
2025-02-20 00:26:23 -08:00
DeltaDizzy
da47f06d70
[datalog] Move all DataLog functionality to new datalog library ( #7641 )
...
Currently the major DataLog backend API (reading and writing) is split between wpiutil and glass. In the interest of allowing code that wants to use these APIs to not need to link to glass and declutter wpiutil, all of those APIs are moved to a new library named "datalog".
Signed-off-by: Jade Turner <spacey-sooty@proton.me >
Co-authored-by: Jade Turner <spacey-sooty@proton.me >
Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com >
2025-02-19 21:08:17 -08:00
Tyler Veness
155b3d45e7
[wpiutil] Remove broken StackWalker library ( #7777 )
...
A Discord user reported that StackWalker gives blank stacktraces.
MSVC's C++23 support is unstable, so we can't use std::stacktrace yet.
In the meantime, we can just return an empty string and remove the
unmaintained StackWalker library and its hacky upstream_utils script.
2025-02-12 22:54:41 -08:00
DeltaDizzy
297f0d1b03
[wpiutil] Change kInvalidFile to macro ( #7750 )
...
This is needed on Windows because accessing global variables across shared library boundaries doesn’t work.
2025-01-30 20:01:35 -07:00
Tyler Veness
7533b323d1
[upstream_utils] Upgrade to fmt 11.1.3 ( #7629 )
2025-01-30 13:35:33 -07:00
PJ Reiniger
3b345fe218
[bazel] Add macros to build jni code and java tests ( #7693 )
2025-01-26 16:52:33 -08:00
Peter Johnson
eee30c49e2
[wpilib] Remove LiveWindow ( #7733 )
...
This will be replaced by a different mechanism, but removing it eases
the initial implementation burden of a new Telemetry/Sendable framework.
2025-01-25 10:52:19 -08:00
Peter Johnson
d9f8fded09
Merge branch 'main' into 2027
2025-01-16 23:17:59 -08:00
Thad House
afbaa43539
[wpiutil] Remove roboRIO-specific timestamp code ( #7669 )
2025-01-13 15:59:11 -07:00
Thad House
09a6bc9a25
[build] Remove RoboRIO specializations from build system ( #7670 )
2025-01-13 12:23:54 -07:00
Matt
2de03c9601
[cscore] Use frame time in Linux UsbCameraImpl ( #7609 )
2025-01-07 09:33:20 -07:00
Peter Johnson
9b08f0244c
[wpiutil] SignalObject: Fix move operator= ( #7649 )
2025-01-06 20:11:34 -08:00
Peter Johnson
03d9e96877
[wpiutil] Change StringExtras split() to template ( #7636 )
...
It now calls back a function for each part rather than creating a SmallVector.
2025-01-05 20:53:43 -08:00
Peter Johnson
148fcdca85
[wpiutil] DataLog: Move schema info to a separate map ( #7626 )
2025-01-03 13:28:50 -08:00
Peter Johnson
12a1475ee4
[wpiutil] Remove LEB128 ( #7628 )
...
This was only used for NT3.
2025-01-03 07:13:49 -08:00
Tyler Veness
0470e51569
[upstream_utils] Upgrade to fmt 11.1.0 ( #7593 )
...
Usage of FMT_STRING() was removed since it caused compilation failures,
and https://fmt.dev/11.1/api/#compile-time-checks says it's no longer
necessary for compile-time format strings.
Fixes #7592 .
2024-12-26 19:14:02 -06:00
Tyler Veness
939a9ceee1
[upstream_utils] Upgrade to LLVM 19.1.6 ( #7101 )
2024-12-24 17:40:31 -08:00
Brendan Raykoff
9b12ddb595
[upstream_utils] Patch protobuf to remove deprecated ATOMIC_VAR_INIT ( #7585 )
2024-12-23 16:14:15 -06:00
Peter Johnson
76625fa0f9
[build] cmake: Build wpiutil dev executable ( #7578 )
2024-12-22 15:03:33 -08:00
Peter Johnson
bb130b67b8
[wpiutil] DataLogWriter: Don't crash on file open error ( #7579 )
2024-12-22 15:03:12 -08:00
Ryan Blue
0c99073b94
Use std::bit_cast ( #7567 )
...
Backport #7492
Co-authored-by: Tyler Veness <calcmogul@gmail.com >
2024-12-22 13:34:16 -08:00
PJ Reiniger
9ccd73108b
[bazel] MVP for building wpilibc + commands framework ( #7231 )
2024-12-18 22:00:40 -08:00
Thad House
782459dff4
[wpiutil] Make runtime loader exception message slightly better ( #7536 )
2024-12-14 11:25:27 -08:00
Daniel Chen
5e3dba672a
[wpiutil] Record/Enum struct generation fix ( #7538 )
...
ProceduralStructGenerator's genRecord and genEnum were package-private, and only extractClassStruct was made public.
However, this package private visibility rendered them unable to be used by the rest of wpilib(and advanced users).
Here, ProceduralStructGenerator is split into 2 classes: StructGenerator(which generates structs) and StructFetcher(the new namespace for extractClassStruct). In addition, genRecord and genEnum have been made public methods.
2024-12-13 12:25:38 -07:00
Joseph Eng
4225b732fd
Remove unnecessary boxing ( #7539 )
...
* Remove unnecessary boxing
Also remove unnecessary warning suppression
* Use more idiomatic functional interfaces in NumericalIntegration
2024-12-12 19:18:40 -08:00
Thad House
9a1b4245fa
[build] Restore Windows constexpr mutex define on wpiutil ( #7515 )
2024-12-07 18:55:06 -08:00
Ryan Blue
9d40b993f8
[wpiutil] Fix HasNestedStruct docs (NFC) ( #7459 )
2024-11-30 07:44:19 -08:00