[build] Remove cmake Java support (#8952)

This is increasingly difficult to maintain, and has very limited
benefit. Modern coprocessors with enough horsepower to run Java
applications can use the Gradle or Bazel build systems instead.
This commit is contained in:
Peter Johnson
2026-06-05 15:05:09 -07:00
committed by GitHub
parent d941be905e
commit 96fb033deb
42 changed files with 13 additions and 1238 deletions

View File

@@ -33,57 +33,6 @@ configure_file(hal-config.cmake.in ${WPILIB_BINARY_DIR}/hal-config.cmake)
install(FILES ${WPILIB_BINARY_DIR}/hal-config.cmake DESTINATION share/hal)
install(EXPORT hal DESTINATION share/hal)
# Java bindings
if(WITH_JAVA)
include(UseJava)
file(GLOB_RECURSE hal_shared_jni_src src/main/native/cpp/jni/*.cpp)
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
set(CMAKE_JNI_TARGET true)
add_jar(
hal_jar
${JAVA_SOURCES}
INCLUDE_JARS wpiutil_jar
OUTPUT_NAME wpiHal
OUTPUT_DIR ${WPILIB_BINARY_DIR}/${java_lib_dest}
GENERATE_NATIVE_HEADERS hal_jni_headers
)
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})
set_target_properties(haljni PROPERTIES OUTPUT_NAME "wpiHaljni")
wpilib_target_warnings(haljni)
target_link_libraries(haljni PUBLIC hal wpiutil)
set_property(TARGET haljni PROPERTY FOLDER "libraries")
target_link_libraries(haljni PRIVATE hal_jni_headers)
add_dependencies(haljni hal_jar)
install(TARGETS haljni EXPORT haljni)
export(TARGETS haljni FILE haljni.cmake NAMESPACE haljni::)
endif()
if(WITH_JAVA_SOURCE)
include(UseJava)
include(CreateSourceJar)
add_source_jar(
hal_src_jar
BASE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/src/main/java
OUTPUT_NAME wpiHal-sources
OUTPUT_DIR ${WPILIB_BINARY_DIR}/${java_lib_dest}
)
set_property(TARGET hal_src_jar PROPERTY FOLDER "java")
install_jar(hal_src_jar DESTINATION ${java_lib_dest})
endif()
if(WITH_TESTS)
wpilib_add_test(hal src/test/native/cpp)
target_link_libraries(hal_test hal googletest)

View File

@@ -4,6 +4,3 @@ include(CMakeFindDependencyMacro)
@FILENAME_DEP_REPLACE@
include(${SELF_DIR}/hal.cmake)
if(@WITH_JAVA@)
include(${SELF_DIR}/hal_jar.cmake)
endif()