From f5b0dcb44791aeb48c7c135789070744c7d0b41c Mon Sep 17 00:00:00 2001 From: onobc Date: Sun, 16 Nov 2025 17:05:07 -0600 Subject: [PATCH] Support Java 25 This commit adds support for Java 25. Note that the java.version remains at 17 in order to force the target and source compatibility to be 17. However, if the running JVM is 25 it will be used to compile and run tests. The Github workflows are also updated to run with Java 25. See #290 Signed-off-by: onobc --- .github/workflows/ci-pr.yml | 10 +++++++++- .github/workflows/deploy.yml | 10 +++++++++- .github/workflows/docs.yml | 10 +++++++++- .mvn/jvm.config | 14 ++++++++++++++ .sdkmanrc | 3 +++ pom.xml | 7 ++++--- 6 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 .mvn/jvm.config create mode 100644 .sdkmanrc diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml index 1054c95a..53c3b890 100644 --- a/.github/workflows/ci-pr.yml +++ b/.github/workflows/ci-pr.yml @@ -15,12 +15,20 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 17 (0.x) + if: github.base_ref == '0.x' uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: maven + - name: Set up JDK 25 (main) + if: github.base_ref == 'main' + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: 'liberica' + cache: maven - name: Build and test run: | ./mvnw -B clean install diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8fc5a066..890d6a2d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,12 +14,20 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 17 (0.x) + if: startsWith(github.ref, 'refs/heads/0.x/') uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: maven + - name: Set up JDK 25 (main) + if: startsWith(github.ref, 'refs/heads/main/') + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: 'liberica' + cache: maven - name: Deploy with Maven env: spring_username: ${{ secrets.ARTIFACTORY_USERNAME }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d5789f6c..ea4f9f01 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -19,12 +19,20 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 5 - - name: Set up JDK 17 + - name: Set up JDK 17 (0.x) + if: startsWith(github.ref, 'refs/heads/0.x/') uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: maven + - name: Set up JDK 25 (main) + if: startsWith(github.ref, 'refs/heads/main/') + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: 'liberica' + cache: maven - name: Set up refname build if: github.event.inputs.build-refname run: | diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 00000000..e27f6e8f --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,14 @@ +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED +--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED +--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED +--add-opens=java.base/java.util=ALL-UNNAMED +--add-opens=java.base/java.lang.reflect=ALL-UNNAMED +--add-opens=java.base/java.text=ALL-UNNAMED +--add-opens=java.desktop/java.awt.font=ALL-UNNAMED diff --git a/.sdkmanrc b/.sdkmanrc new file mode 100644 index 00000000..2b4236b4 --- /dev/null +++ b/.sdkmanrc @@ -0,0 +1,3 @@ +# Enable auto-env through the sdkman_auto_env config +# Add key=value pairs of SDKs to use below +java=25-librca diff --git a/pom.xml b/pom.xml index 7aad4046..744479a8 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ 5.13.4 3.27.4 4.3.0 - 5.19.0 + 5.20.0 0.0.4 @@ -95,7 +95,7 @@ 0.0.6 - 3.11.0 + 3.14.0 3.1.2 3.1.2 1.6.0 @@ -202,7 +202,8 @@ maven-surefire-plugin ${maven-surefire-plugin.version} - ${surefireArgLine} + + -Dnet.bytebuddy.experimental=true