diff --git a/.github/workflows/artifactory-milestone-release.yml b/.github/workflows/artifactory-milestone-release.yml
index 290d73c0f53..6482b462543 100644
--- a/.github/workflows/artifactory-milestone-release.yml
+++ b/.github/workflows/artifactory-milestone-release.yml
@@ -18,7 +18,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml
index ae174fb62f5..ca4792882f2 100644
--- a/.github/workflows/continuous-integration.yml
+++ b/.github/workflows/continuous-integration.yml
@@ -48,7 +48,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
diff --git a/.github/workflows/documentation-upload.yml b/.github/workflows/documentation-upload.yml
index 7e67f3e2b80..b07932e9bc3 100644
--- a/.github/workflows/documentation-upload.yml
+++ b/.github/workflows/documentation-upload.yml
@@ -21,7 +21,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
diff --git a/.github/workflows/fast-continuous-integration.yml b/.github/workflows/fast-continuous-integration.yml
index b72fbcedb45..cc9dce0f982 100644
--- a/.github/workflows/fast-continuous-integration.yml
+++ b/.github/workflows/fast-continuous-integration.yml
@@ -30,7 +30,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
@@ -65,7 +65,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
@@ -102,7 +102,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
@@ -139,7 +139,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
@@ -176,7 +176,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
@@ -219,7 +219,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
@@ -248,7 +248,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
diff --git a/.github/workflows/main-push-fast.yml b/.github/workflows/main-push-fast.yml
index a19ecf322ee..15e3bfc9603 100644
--- a/.github/workflows/main-push-fast.yml
+++ b/.github/workflows/main-push-fast.yml
@@ -53,7 +53,7 @@ jobs:
- uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
# cache: 'maven' # Disabled for fast workflow - reduces post-job noise
diff --git a/.github/workflows/maintenance-fast.yml b/.github/workflows/maintenance-fast.yml
index 1a903df2144..4e3d0541d9b 100644
--- a/.github/workflows/maintenance-fast.yml
+++ b/.github/workflows/maintenance-fast.yml
@@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml
index 23a52bb0902..3dd1f76b1db 100644
--- a/.github/workflows/pr-check.yml
+++ b/.github/workflows/pr-check.yml
@@ -17,7 +17,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
cache: 'maven'
diff --git a/.github/workflows/release-notes-generation.yml b/.github/workflows/release-notes-generation.yml
index 5b53cc8b0b4..a6ebe546504 100644
--- a/.github/workflows/release-notes-generation.yml
+++ b/.github/workflows/release-notes-generation.yml
@@ -26,7 +26,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '25'
+ java-version: '21'
distribution: 'temurin'
- name: Prepare configuration file
diff --git a/.sdkmanrc b/.sdkmanrc
new file mode 100644
index 00000000000..5a6900dd570
--- /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=21.0.9-tem
diff --git a/README.md b/README.md
index 242a8f2c122..a8a0a11785d 100644
--- a/README.md
+++ b/README.md
@@ -71,7 +71,7 @@ To clone it you have to either:
## Building
-The project targets and build artifacts compatible with Java 17+, but requires a JDK 25+
+The project targets and build artifacts compatible with Java 17+, but requires JDK 21
to build. This is enforced by the maven enforcer plugin.
To build with running unit tests
diff --git a/pom.xml b/pom.xml
index 1a1b458db13..cb029fd1296 100644
--- a/pom.xml
+++ b/pom.xml
@@ -274,7 +274,6 @@
${java.version}
${java.version}
${java.version}
- 2.2.21
4.0.0
@@ -340,7 +339,7 @@
4.12.0
5.5.6
4.1.0
-
+
0.18.0-SNAPSHOT
0.9.0-SNAPSHOT
@@ -351,7 +350,7 @@
3.6.2
- [25,)
+ [21.0.8,)
3.1.2
3.5.2
3.5.0
@@ -422,10 +421,12 @@
org.jetbrains.kotlin
kotlin-maven-plugin
- ${kotlin.compiler.version}
+ ${kotlin.version}
${java.version}
true
+ 2.2
+ 2.2
@@ -462,9 +463,6 @@
${java.version}
-parameters
- -XDcompilePolicy=simple
- --should-stop=ifError=FLOW
- -Xplugin:ErrorProne -XepDisableAllChecks -Xep:NullAway:ERROR -XepOpt:NullAway:OnlyNullMarked -XepOpt:NullAway:JSpecifyMode=true
@@ -496,6 +494,15 @@
compile
+
+
+ -XDcompilePolicy=simple
+
+ -XDaddTypeAnnotationsToSymbol=true
+ --should-stop=ifError=FLOW
+ -Xplugin:ErrorProne -XepDisableAllChecks -Xep:NullAway:ERROR -XepOpt:NullAway:OnlyNullMarked -XepOpt:NullAway:JSpecifyMode=true
+
+
java-test-compile