Commit 988f98c
authored
Migrate corfudb-cloud to JDK 25 (#283)
## Changes Made
### Gradle Wrapper (6 files)
- Upgraded Gradle from 8.10 to 9.1.0 across all subprojects
(root, universe, tests, benchmarks, cloud/infrastructure,
cloud/corfu/corfu-client-example).
Gradle 9.1.0 is required for JDK 25 support (8.10 only supports up to Java 23).
### Java Compilation (gradle/java.gradle)
- sourceCompatibility and targetCompatibility updated from VERSION_21
to VERSION_25.
- Added --add-opens JVM flags for JDK 25's stricter module encapsulation:
java.base/java.net, java.base/java.lang, java.base/java.util,
java.base/java.lang.reflect, java.base/java.io,
java.management/sun.management, jdk.attach/sun.tools.attach.
- Added testRuntimeOnly dependency on junit-platform-launcher:1.5.2
(required by Gradle 9.x - JUnit Platform launcher must be explicitly
on the test runtime classpath).
### Groovy/Gradle 9.x API Compatibility (gradle/idea.gradle)
- groovy.util.XmlParser -> groovy.xml.XmlParser (moved in Groovy 4.x)
- QName import changed from groovy.xml.* to groovy.namespace.QName
- compileJava.destinationDir -> compileJava.destinationDirectory.asFile.get()
(destinationDir removed in Gradle 9.x)
### Gradle 9.x API Compatibility (gradle/universe.gradle)
- JavaExec.main -> JavaExec.mainClass.set() (main property removed in
Gradle 9.x) for deployment and shutdown tasks.
### Lombok Plugin Upgrade (4 files)
- io.freefair.lombok upgraded from 8.12.1 to 9.2.0 in:
universe/universe-core/build.gradle.kts
universe/universe-infrastructure/build.gradle.kts
tests/build.gradle.kts
benchmarks/build.gradle.kts
(8.12.1 is incompatible with Gradle 9.x; 9.2.0 bundles
Lombok 1.18.40+ which supports JDK 25)
### Protobuf Plugin Upgrade (2 files)
- com.google.protobuf upgraded from 0.9.3 to 0.9.6 in:
benchmarks/build.gradle.kts
tests/build.gradle.kts
(0.9.3 uses Configuration.fileCollection() which was removed in Gradle 9.x)
### Palantir Docker Plugin Upgrade (3 files)
- com.palantir.docker upgraded from 0.36.0 to 0.37.0 in:
tests/build.gradle.kts
cloud/infrastructure/integration-tools/build.gradle.kts
cloud/infrastructure/kibana/kibana-tools/build.gradle.kts
(0.36.0 uses ImmutableAttributesFactory internal API removed in Gradle 9.x)
- Added pluginManagement block with Maven Central repository and
resolutionStrategy in tests/settings.gradle.kts (0.37.0 is published
to Maven Central but not the Gradle Plugin Portal).
### Checkstyle Fix (FakeDns.java)
- Added missing blank line before class declaration
- Added braces to single-line if statement
### GitHub Actions Workflows (4 files)
- pull_request_universe.yml: java-version 21 -> 25
- pull_request_benchmarks.yml: java-version 21 -> 25
- publish-universe-artifacts.yml: java-version 21 -> 25
- run_benchmarks.yml: java-version 21 -> 25
### Dockerfiles (5 files)
- tests/Dockerfile: openjdk:21-bullseye -> eclipse-temurin:25-jdk-noble
- benchmarks/Dockerfile: openjdk:21-bullseye -> eclipse-temurin:25-jdk-noble
- cloud/corfu/corfu-client-example/Dockerfile: openjdk:21-bullseye -> eclipse-temurin:25-jdk-noble
- cloud/infrastructure/integration-tools/Dockerfile: openjdk:21-bullseye -> eclipse-temurin:25-jdk-noble
- cloud/infrastructure/kibana/kibana-tools/Dockerfile: openjdk:21-bullseye -> eclipse-temurin:25-jdk-noble
Note: Also migrated from deprecated openjdk Docker images to eclipse-temurin
(Adoptium), which is the recommended OpenJDK distribution.
Verified locally with JDK 25.0.2:
- ./gradlew check passes in universe/
- ./gradlew check passes in benchmarks/
- ./gradlew compileJava compileTestJava passes in tests/
(tests/check has pre-existing checkstyle and Docker integration test
failures unrelated to JDK migration)1 parent 3f09b77 commit 988f98c
26 files changed
Lines changed: 60 additions & 34 deletions
File tree
- .github/workflows
- benchmarks
- gradle/wrapper
- cloud
- corfu/corfu-client-example
- gradle/wrapper
- infrastructure
- gradle/wrapper
- integration-tools
- kibana/kibana-tools
- gradle
- wrapper
- tests
- gradle/wrapper
- universe
- gradle/wrapper
- universe-core
- src/main/java/org/corfudb/universe/infrastructure/docker/universe
- universe-infrastructure
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
0 commit comments