Skip to content

Commit

Permalink
Merge branch 'main' into 5884
Browse files Browse the repository at this point in the history
  • Loading branch information
calcmogul committed Dec 7, 2023
2 parents 21ab356 + f5fc101 commit 5a3572f
Show file tree
Hide file tree
Showing 93 changed files with 15,952 additions and 284 deletions.
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,8 @@
*.json text eol=lf
*.md text eol=lf
*.xml text eol=lf

# Generated files
hal/src/generated/** linguist-generated
ntcore/src/generated/** linguist-generated
wpimath/src/generated/** linguist-generated
96 changes: 49 additions & 47 deletions .github/workflows/pregenerate.yml
Original file line number Diff line number Diff line change
@@ -1,47 +1,49 @@
name: Check Pregenerated Files

on:
pull_request:
push:
branches-ignore:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
update:
name: "Update"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Fetch all history and metadata
run: |
git fetch --prune --unshallow
git checkout -b pr
git branch -f main origin/main
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install jinja
run: python -m pip install jinja2
- name: Run hal
run: ./hal/generate_usage_reporting.py
- name: Run ntcore
run: ./ntcore/generate_topics.py
- name: Run wpimath
run: ./wpimath/generate_numbers.py
- name: Add untracked files to index so they count as changes
run: git add -A
- name: Check output
run: git --no-pager diff --exit-code HEAD
- name: Generate diff
run: git diff HEAD > pregenerated-files-fixes.patch
if: ${{ failure() }}
- uses: actions/upload-artifact@v3
with:
name: pregenerated-files-fixes
path: pregenerated-files-fixes.patch
if: ${{ failure() }}
name: Check Pregenerated Files

on:
pull_request:
push:
branches-ignore:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
update:
name: "Update"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Fetch all history and metadata
run: |
git fetch --prune --unshallow
git checkout -b pr
git branch -f main origin/main
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install jinja
run: python -m pip install jinja2
- name: Install protobuf dependencies
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler && wget https://github.com/HebiRobotics/QuickBuffers/releases/download/1.3.2/protoc-gen-quickbuf-1.3.2-linux-x86_64.exe && chmod +x protoc-gen-quickbuf-1.3.2-linux-x86_64.exe
- name: Run hal
run: ./hal/generate_usage_reporting.py
- name: Run ntcore
run: ./ntcore/generate_topics.py
- name: Run wpimath
run: ./wpimath/generate_numbers.py && ./wpimath/generate_quickbuf.py protoc protoc-gen-quickbuf-1.3.2-linux-x86_64.exe
- name: Add untracked files to index so they count as changes
run: git add -A
- name: Check output
run: git --no-pager diff --exit-code HEAD
- name: Generate diff
run: git diff HEAD > pregenerated-files-fixes.patch
if: ${{ failure() }}
- uses: actions/upload-artifact@v3
with:
name: pregenerated-files-fixes
path: pregenerated-files-fixes.patch
if: ${{ failure() }}
14 changes: 8 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,16 +213,18 @@ find_package(LIBSSH 0.7.1)
find_package(Protobuf REQUIRED)
find_program(Quickbuf_EXECUTABLE NAMES protoc-gen-quickbuf DOC "The Quickbuf protoc plugin")

set(WPIUTIL_DEP_REPLACE "find_dependency(wpiutil)")
set(WPINET_DEP_REPLACE "find_dependency(wpinet)")
set(NTCORE_DEP_REPLACE "find_dependency(ntcore)")
set(CSCORE_DEP_REPLACE_IMPL "find_dependency(cscore)")
set(APRILTAG_DEP_REPLACE "find_dependency(apriltag)")
set(CAMERASERVER_DEP_REPLACE_IMPL "find_dependency(cameraserver)")
set(CSCORE_DEP_REPLACE_IMPL "find_dependency(cscore)")
set(HAL_DEP_REPLACE_IMPL "find_dependency(hal)")
set(WPIMATH_DEP_REPLACE "find_dependency(wpimath)")
set(WPIUNITS_DEP_REPLACE "find_dependency(wpiunits)")
set(NTCORE_DEP_REPLACE "find_dependency(ntcore)")
set(WPILIBC_DEP_REPLACE_IMPL "find_dependency(wpilibc)")
set(WPILIBJ_DEP_REPLACE "find_dependency(wpilibj)")
set(WPILIBNEWCOMMANDS_DEP_REPLACE "find_dependency(wpilibNewCommands)")
set(WPIMATH_DEP_REPLACE "find_dependency(wpimath)")
set(WPINET_DEP_REPLACE "find_dependency(wpinet)")
set(WPIUNITS_DEP_REPLACE "find_dependency(wpiunits)")
set(WPIUTIL_DEP_REPLACE "find_dependency(wpiutil)")

set(FILENAME_DEP_REPLACE "get_filename_component(SELF_DIR \"$\{CMAKE_CURRENT_LIST_FILE\}\" PATH)")
set(SELF_DIR "$\{SELF_DIR\}")
Expand Down
6 changes: 2 additions & 4 deletions apriltag/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,8 @@ if(WITH_JAVA)
GENERATE_NATIVE_HEADERS apriltag_jni_headers
)

get_property(APRILTAG_JAR_FILE TARGET apriltag_jar PROPERTY JAR_FILE)
install(FILES ${APRILTAG_JAR_FILE} DESTINATION "${java_lib_dest}")

set_property(TARGET apriltag_jar PROPERTY FOLDER "java")
install_jar(apriltag_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS apriltag_jar FILE apriltag_jar.cmake DESTINATION share/apriltag)

add_library(apriltagjni ${apriltag_jni_src})
wpilib_target_warnings(apriltagjni)
Expand Down
3 changes: 3 additions & 0 deletions apriltag/apriltag-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ include(CMakeFindDependencyMacro)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/apriltag.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/apriltag_jar.cmake)
endif()
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -171,5 +171,5 @@ ext.getCurrentArch = {
}

wrapper {
gradleVersion = '8.4'
gradleVersion = '8.5'
}
10 changes: 6 additions & 4 deletions cameraserver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,12 @@ if(WITH_JAVA)
OUTPUT_NAME cameraserver
)

get_property(CAMERASERVER_JAR_FILE TARGET cameraserver_jar PROPERTY JAR_FILE)
install(FILES ${CAMERASERVER_JAR_FILE} DESTINATION "${java_lib_dest}")

set_property(TARGET cameraserver_jar PROPERTY FOLDER "java")
install_jar(cameraserver_jar DESTINATION ${java_lib_dest})
install_jar_exports(
TARGETS cameraserver_jar
FILE cameraserver_jar.cmake
DESTINATION share/cameraserver
)
endif()

if(WITH_JAVA_SOURCE)
Expand Down
3 changes: 3 additions & 0 deletions cameraserver/cameraserver-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@ find_dependency(OpenCV)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/cameraserver.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/cameraserver_jar.cmake)
endif()
6 changes: 2 additions & 4 deletions cscore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ if(WITH_JAVA)
GENERATE_NATIVE_HEADERS cscore_jni_headers
)

get_property(CSCORE_JAR_FILE TARGET cscore_jar PROPERTY JAR_FILE)
install(FILES ${CSCORE_JAR_FILE} DESTINATION "${java_lib_dest}")
install_jar(cscore_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS cscore_jar FILE cscore_jar.cmake DESTINATION share/cscore)
install(FILES ${OPENCV_JAR_FILE} DESTINATION "${java_lib_dest}")

if(MSVC)
Expand All @@ -153,8 +153,6 @@ if(WITH_JAVA)
endforeach()
endif()

set_property(TARGET cscore_jar PROPERTY FOLDER "java")

add_library(cscorejni ${cscore_jni_src})
wpilib_target_warnings(cscorejni)
target_link_libraries(cscorejni PUBLIC cscore wpiutil ${OpenCV_LIBS})
Expand Down
3 changes: 3 additions & 0 deletions cscore/cscore-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ find_dependency(OpenCV)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/cscore.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/cscore_jar.cmake)
endif()
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
6 changes: 2 additions & 4 deletions hal/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,8 @@ if(WITH_JAVA)
GENERATE_NATIVE_HEADERS hal_jni_headers
)

get_property(HAL_JAR_FILE TARGET hal_jar PROPERTY JAR_FILE)
install(FILES ${HAL_JAR_FILE} DESTINATION "${java_lib_dest}")

set_property(TARGET hal_jar PROPERTY FOLDER "java")
install_jar(hal_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS hal_jar FILE hal_jar.cmake DESTINATION share/hal)

add_library(haljni ${hal_shared_jni_src})

Expand Down
3 changes: 3 additions & 0 deletions hal/hal-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ include(CMakeFindDependencyMacro)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/hal.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/hal_jar.cmake)
endif()
4 changes: 2 additions & 2 deletions hal/src/main/native/sim/HAL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -367,12 +367,12 @@ HAL_Bool HAL_Initialize(int32_t timeout, int32_t mode) {
#ifdef _WIN32
TIMECAPS tc;
if (timeGetDevCaps(&tc, sizeof(tc)) == TIMERR_NOERROR) {
UINT target = min(1, tc.wPeriodMin);
UINT target = (std::min)(static_cast<UINT>(1), tc.wPeriodMin);
timeBeginPeriod(target);
std::atexit([]() {
TIMECAPS tc;
if (timeGetDevCaps(&tc, sizeof(tc)) == TIMERR_NOERROR) {
UINT target = min(1, tc.wPeriodMin);
UINT target = (std::min)(static_cast<UINT>(1), tc.wPeriodMin);
timeEndPeriod(target);
}
});
Expand Down
6 changes: 2 additions & 4 deletions ntcore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,8 @@ if(WITH_JAVA)
GENERATE_NATIVE_HEADERS ntcore_jni_headers
)

get_property(NTCORE_JAR_FILE TARGET ntcore_jar PROPERTY JAR_FILE)
install(FILES ${NTCORE_JAR_FILE} DESTINATION "${java_lib_dest}")

set_property(TARGET ntcore_jar PROPERTY FOLDER "java")
install_jar(ntcore_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS ntcore_jar FILE ntcore_jar.cmake DESTINATION share/ntcore)

add_library(ntcorejni ${ntcore_jni_src})
wpilib_target_warnings(ntcorejni)
Expand Down
3 changes: 3 additions & 0 deletions ntcore/ntcore-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ include(CMakeFindDependencyMacro)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/ntcore.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/ntcore_jar.cmake)
endif()
1 change: 0 additions & 1 deletion ntcore/src/main/native/cpp/net/ClientImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include "NetworkInterface.h"
#include "WireConnection.h"
#include "WireEncoder.h"
#include "net/NetworkOutgoingQueue.h"
#include "networktables/NetworkTableValue.h"

using namespace nt;
Expand Down
10 changes: 6 additions & 4 deletions romiVendordep/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@ if(WITH_JAVA)
OUTPUT_NAME romiVendordep
)

get_property(ROMIVENDORDEP_JAR_FILE TARGET romiVendordep_jar PROPERTY JAR_FILE)
install(FILES ${ROMIVENDORDEP_JAR_FILE} DESTINATION "${java_lib_dest}")

set_property(TARGET romiVendordep_jar PROPERTY FOLDER "java")
install_jar(romiVendordep_jar DESTINATION ${java_lib_dest})
install_jar_exports(
TARGETS romiVendordep_jar
FILE romiVendordep_jar.cmake
DESTINATION share/romiVendordep
)
endif()

if(WITH_JAVA_SOURCE)
Expand Down
3 changes: 3 additions & 0 deletions romiVendordep/romiVendordep-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ include(CMakeFindDependencyMacro)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/romiVendordep.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/romiVendordep_jar.cmake)
endif()
10 changes: 0 additions & 10 deletions shared/java/javacommon.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -146,22 +146,12 @@ protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.21.12'
}
plugins {
quickbuf {
artifact = 'us.hebi.quickbuf:protoc-gen-quickbuf:1.3.2'
}
}
generateProtoTasks {
all().configureEach { task ->
task.builtins {
cpp {}
remove java
}
task.plugins {
quickbuf {
option "gen_descriptors=true"
}
}
}
}
}
2 changes: 1 addition & 1 deletion styleguide/checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN"
checks="(LocalVariableName|MemberName|MethodName|MethodTypeParameterName|ParameterName)" />
<suppress files=".*JNI.*"
checks="(EmptyLineSeparator|LineLength|MissingJavadocMethod|ParameterName)" />
<suppress files=".*quickbuf.*"
<suppress files=".*math[/\\]proto.*"
checks="(CustomImportOrder|EmptyLineSeparator|LineLength|JavadocParagraph|MissingJavadocMethod|OverloadMethodsDeclarationOrder|SummaryJavadoc|UnnecessaryParentheses|OperatorWrap|JavadocMethod|JavadocTagContinuationIndentation)" />
</suppressions>
2 changes: 1 addition & 1 deletion styleguide/pmd-ruleset.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<exclude-pattern>.*/*JNI.*</exclude-pattern>
<exclude-pattern>.*/*IntegrationTests.*</exclude-pattern>
<exclude-pattern>.*/quickbuf/.*</exclude-pattern>
<exclude-pattern>.*/math/proto.*</exclude-pattern>

<rule ref="category/java/bestpractices.xml">
<exclude name="AccessorClassGeneration" />
Expand Down
15 changes: 11 additions & 4 deletions wpilib-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,18 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
find_dependency(Threads)
@LIBUV_SYSTEM_REPLACE@
@EIGEN_SYSTEM_REPLACE@
@WPIUTIL_DEP_REPLACE@
@WPINET_DEP_REPLACE@
@NTCORE_DEP_REPLACE@
@CSCORE_DEP_REPLACE@

@APRILTAG_DEP_REPLACE@
@CAMERASERVER_DEP_REPLACE@
@CSCORE_DEP_REPLACE@
@HAL_DEP_REPLACE@
@NTCORE_DEP_REPLACE@
@WPILIBC_DEP_REPLACE@
@WPILIBNEWCOMMANDS_DEP_REPLACE@
@WPIMATH_DEP_REPLACE@
@WPINET_DEP_REPLACE@
@WPIUTIL_DEP_REPLACE@
if(@WITH_JAVA@)
@WPILIBJ_DEP_REPLACE@
@WPIUNITS_DEP_REPLACE@
endif()
10 changes: 6 additions & 4 deletions wpilibNewCommands/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@ if(WITH_JAVA)
OUTPUT_NAME wpilibNewCommands
)

get_property(WPILIBNEWCOMMANDS_JAR_FILE TARGET wpilibNewCommands_jar PROPERTY JAR_FILE)
install(FILES ${WPILIBNEWCOMMANDS_JAR_FILE} DESTINATION "${java_lib_dest}")

set_property(TARGET wpilibNewCommands_jar PROPERTY FOLDER "java")
install_jar(wpilibNewCommands_jar DESTINATION ${java_lib_dest})
install_jar_exports(
TARGETS wpilibNewCommands_jar
FILE wpilibNewCommands_jar.cmake
DESTINATION share/wpilibNewCommands
)
endif()

if(WITH_JAVA_SOURCE)
Expand Down
3 changes: 3 additions & 0 deletions wpilibNewCommands/wpilibNewCommands-config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ include(CMakeFindDependencyMacro)

@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/wpilibNewCommands.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/wpilibNewCommands_jar.cmake)
endif()
Loading

0 comments on commit 5a3572f

Please sign in to comment.