Skip to content

Commit d334698

Browse files
committed
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 <[email protected]>
1 parent c931077 commit d334698

File tree

6 files changed

+48
-6
lines changed

6 files changed

+48
-6
lines changed

.github/workflows/ci-pr.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,20 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v4
18-
- name: Set up JDK 17
18+
- name: Set up JDK 17 (0.x)
19+
if: github.base_ref == '0.x'
1920
uses: actions/setup-java@v4
2021
with:
2122
java-version: '17'
2223
distribution: 'temurin'
2324
cache: maven
25+
- name: Set up JDK 25 (main)
26+
if: github.base_ref == 'main'
27+
uses: actions/setup-java@v4
28+
with:
29+
java-version: '25'
30+
distribution: 'liberica'
31+
cache: maven
2432
- name: Build and test
2533
run: |
2634
./mvnw -B clean install

.github/workflows/deploy.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@ jobs:
1414

1515
steps:
1616
- uses: actions/checkout@v4
17-
- name: Set up JDK 17
17+
- name: Set up JDK 17 (0.x)
18+
if: startsWith(github.ref, 'refs/heads/0.x/')
1819
uses: actions/setup-java@v4
1920
with:
2021
java-version: '17'
2122
distribution: 'temurin'
2223
cache: maven
24+
- name: Set up JDK 25 (main)
25+
if: startsWith(github.ref, 'refs/heads/main/')
26+
uses: actions/setup-java@v4
27+
with:
28+
java-version: '25'
29+
distribution: 'liberica'
30+
cache: maven
2331
- name: Deploy with Maven
2432
env:
2533
spring_username: ${{ secrets.ARTIFACTORY_USERNAME }}

.github/workflows/docs.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,20 @@ jobs:
1919
uses: actions/checkout@v4
2020
with:
2121
fetch-depth: 5
22-
- name: Set up JDK 17
22+
- name: Set up JDK 17 (0.x)
23+
if: startsWith(github.ref, 'refs/heads/0.x/')
2324
uses: actions/setup-java@v4
2425
with:
2526
java-version: '17'
2627
distribution: 'temurin'
2728
cache: maven
29+
- name: Set up JDK 25 (main)
30+
if: startsWith(github.ref, 'refs/heads/main/')
31+
uses: actions/setup-java@v4
32+
with:
33+
java-version: '25'
34+
distribution: 'liberica'
35+
cache: maven
2836
- name: Set up refname build
2937
if: github.event.inputs.build-refname
3038
run: |

.mvn/jvm.config

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
2+
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
3+
--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
4+
--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
5+
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
6+
--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
7+
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
8+
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
9+
--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
10+
--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
11+
--add-opens=java.base/java.util=ALL-UNNAMED
12+
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
13+
--add-opens=java.base/java.text=ALL-UNNAMED
14+
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED

.sdkmanrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Enable auto-env through the sdkman_auto_env config
2+
# Add key=value pairs of SDKs to use below
3+
java=25-librca

pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
<junit.version>5.13.4</junit.version>
8787
<assertj.version>3.27.4</assertj.version>
8888
<awaitility.version>4.3.0</awaitility.version>
89-
<mockito.version>5.19.0</mockito.version>
89+
<mockito.version>5.20.0</mockito.version>
9090
<!-- documentation dependencies -->
9191
<io.spring.maven.antora-version>0.0.4</io.spring.maven.antora-version>
9292
<!-- FIXME build failure with version 2.3.9: -->
@@ -95,7 +95,7 @@
9595
<spring-asciidoctor-backends.version>0.0.6</spring-asciidoctor-backends.version>
9696

9797
<!-- plugin versions -->
98-
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
98+
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
9999
<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
100100
<maven-failsafe-plugin.version>3.1.2</maven-failsafe-plugin.version>
101101
<maven-flatten-plugin.version>1.6.0</maven-flatten-plugin.version>
@@ -202,7 +202,8 @@
202202
<artifactId>maven-surefire-plugin</artifactId>
203203
<version>${maven-surefire-plugin.version}</version>
204204
<configuration>
205-
<argLine>${surefireArgLine}</argLine>
205+
<!-- required for Java 25 and Mockito inline mocks -->
206+
<argLine>-Dnet.bytebuddy.experimental=true</argLine>
206207
</configuration>
207208
</plugin>
208209
<plugin>

0 commit comments

Comments
 (0)