diff --git a/.bazelrc b/.bazelrc index 6f2a7e8..21916dd 100644 --- a/.bazelrc +++ b/.bazelrc @@ -31,7 +31,7 @@ # # -build --javacopt "--release 21" +build --javacopt "--release 25" build --javacopt "-Xep:AlwaysThrows:ERROR" build --javacopt "-Xep:AndroidInjectionBeforeSuper:OFF" @@ -520,18 +520,19 @@ build --javacopt "-Xep:UnusedException:WARN" build --javacopt "-Xep:UrlInSee:WARN" build --javacopt "-Xep:UsingJsr305CheckReturnValue:WARN" +build --java_language_version=25 +build --java_runtime_version=remotejdk_25 + build --remote_upload_local_results=false +build --tool_java_language_version=25 +build --tool_java_runtime_version=remotejdk_25 + build:macos --apple_platform_type=macos common --enable_platform_specific_config=true common --heap_dump_on_oom=true -common --java_language_version=21 -common --java_runtime_version=remotejdk_21 -common --tool_java_language_version=21 -common --tool_java_runtime_version=remotejdk_21 - test --test_verbose_timeout_warnings=true try-import %workspace%/.user.bazelrc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b63992c..1877fb9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: ca-certificates \ gcc-c++ \ git \ - java-25-openjdk-devel \ + java-25-openjdk-headless \ python3 \ wget \ which @@ -86,7 +86,7 @@ jobs: ca-certificates \ gcc \ git \ - jdk25-openjdk \ + jre25-openjdk-headless \ python \ wget \ which @@ -117,7 +117,7 @@ jobs: ca-certificates \ gcc-c++ \ git \ - java-25-openjdk-devel \ + java-25-openjdk-headless \ python3 \ wget \ which @@ -168,7 +168,7 @@ jobs: ca-certificates \ gcc-c++ \ git \ - java-21-openjdk-devel \ + java-25-openjdk-headless \ python3 \ wget \ which @@ -200,7 +200,7 @@ jobs: ca-certificates \ g++ \ git \ - openjdk-25-jdk \ + openjdk-25-jre-headless \ python-is-python3 \ wget apt-get -qq -o Dpkg::Use-Pty=0 autoremove @@ -233,7 +233,7 @@ jobs: ca-certificates \ g++ \ git \ - openjdk-25-jdk \ + openjdk-25-jre-headless \ python-is-python3 \ wget apt-get -qq -o Dpkg::Use-Pty=0 autoremove @@ -412,6 +412,8 @@ jobs: brew bundle install -q brew cleanup -q -s rm -rf $(brew --cache) + echo "JAVA_HOME=$(brew --prefix openjdk)/libexec/openjdk.jdk/Contents/Home" >> "$GITHUB_ENV" + echo "$(brew --prefix openjdk)/bin" >> "$GITHUB_PATH" env: HOMEBREW_NO_ANALYTICS: 1 HOMEBREW_NO_AUTO_UPDATE: 1 @@ -448,7 +450,7 @@ jobs: ca-certificates \ cmake \ git \ - java-21-openjdk-devel \ + java-25-openjdk-devel \ make \ rpm-build zypper -n -q cc -a @@ -748,7 +750,7 @@ jobs: zypper -n -q in --no-recommends \ ca-certificates \ git \ - java-21-openjdk-devel + java-25-openjdk-devel zypper -n -q cc -a shell: bash - name: checkout diff --git a/CMakeLists.txt b/CMakeLists.txt index d1e98a7..a09fb41 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,7 +53,7 @@ endif() include(CTest) -find_package(Java 21 REQUIRED COMPONENTS Development) +find_package(Java 25 REQUIRED COMPONENTS Development) include(UseJava) option(WARNINGS_AS_ERRORS "Turn compiler warnings into errors" OFF) @@ -157,7 +157,7 @@ set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PROJECT_HOMEPAGE_URL}) set(CPACK_DEBIAN_PACKAGE_SECTION contrib/java) set(CPACK_FREEBSD_PACKAGE_CATEGORIES java) -set(CPACK_FREEBSD_PACKAGE_DEPS "java/openjdk21" "math/apache-commons-math") +set(CPACK_FREEBSD_PACKAGE_DEPS "java/openjdk25" "math/apache-commons-math") set(CPACK_FREEBSD_PACKAGE_LICENSE APACHE20) set(CPACK_FREEBSD_PACKAGE_ORIGIN "java/${CPACK_PACKAGE_NAME}") set(CPACK_FREEBSD_PACKAGE_WWW ${PROJECT_HOMEPAGE_URL}) @@ -165,7 +165,7 @@ set(CPACK_FREEBSD_PACKAGE_WWW ${PROJECT_HOMEPAGE_URL}) set(CPACK_RPM_FILE_NAME RPM-DEFAULT) set(CPACK_RPM_PACKAGE_ARCHITECTURE noarch) set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0") -set(CPACK_RPM_PACKAGE_REQUIRES "apache-commons-math >= 3.6.1, java-headless >= 1:21") +set(CPACK_RPM_PACKAGE_REQUIRES "apache-commons-math >= 3.6.1, java-headless >= 25") set(CPACK_RPM_PACKAGE_URL ${PROJECT_HOMEPAGE_URL}) include(CPack) diff --git a/Dockerfile b/Dockerfile index 5e30c8c..c87b7c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,7 +64,7 @@ RUN export DEBIAN_FRONTEND=noninteractive \ nano \ netbase \ ninja-build \ - openjdk-21-jdk-headless \ + openjdk-25-jdk-headless \ openssh-client \ python3 \ python3-click \ diff --git a/MODULE.bazel b/MODULE.bazel index 55fdf38..1207f52 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -40,6 +40,9 @@ module( ) bazel_dep(name = "rules_java", version = "9.7.0") + +register_toolchains("@rules_java//java:all") + bazel_dep(name = "rules_jvm_external", version = "7.1") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") diff --git a/QUALITY_DECLARATION.md b/QUALITY_DECLARATION.md index ae5c955..d57b4b9 100644 --- a/QUALITY_DECLARATION.md +++ b/QUALITY_DECLARATION.md @@ -245,7 +245,7 @@ None. ### Direct Runtime non-ROS Dependencies [5.iii] -- **Java Standard Library**: provided by the Java runtime (OpenJDK 21 or +- **Java Standard Library**: provided by the Java runtime (OpenJDK 25 or later). This is a de facto standard with no quality level concerns. - **Apache Commons Math** (`org.apache.commons:commons-math3:3.6.1`): provides the `Vector2D` type used throughout the public API. This is a widely-used,