This is an automated email from the ASF dual-hosted git repository.

zhouyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new 1cc35351c7 [GLUTEN-11867] Add JDK 25 build support (#12012)
1cc35351c7 is described below

commit 1cc35351c7bc648fe12621d3ce76b01cd1aa1aa9
Author: Yao-MR <[email protected]>
AuthorDate: Thu May 14 14:38:59 2026 +0800

    [GLUTEN-11867] Add JDK 25 build support (#12012)
    
    Add JDK 25 build support for Gluten with Spark 4.0+ (Velox backend).
---
 .github/workflows/velox_backend_x86.yml | 12 +++++++++++-
 docs/developers/NewToGluten.md          |  5 +++--
 pom.xml                                 | 21 +++++++++++++++++++--
 tools/gluten-it/pom.xml                 | 15 ++++++++++++++-
 4 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/velox_backend_x86.yml 
b/.github/workflows/velox_backend_x86.yml
index e06d0d0554..f130a7f62e 100644
--- a/.github/workflows/velox_backend_x86.yml
+++ b/.github/workflows/velox_backend_x86.yml
@@ -109,9 +109,15 @@ jobs:
       matrix:
         os: [ "ubuntu:20.04", "ubuntu:22.04" ]
         spark: [ "spark-3.3", "spark-3.4", "spark-3.5", "spark-4.0", 
"spark-4.1"  ]
-        java: [ "java-8", "java-11", "java-17", "java-21" ]
+        java: [ "java-8", "java-11", "java-17", "java-21", "java-25" ]
         # Spark supports JDK17 since 3.3.
         exclude:
+          - spark: spark-3.3
+            java: java-25
+          - spark: spark-3.4
+            java: java-25
+          - spark: spark-3.5
+            java: java-25
           - spark: spark-3.3
             java: java-21
           - spark: spark-3.4
@@ -132,6 +138,8 @@ jobs:
             java: java-11
           - os: ubuntu:20.04
             java: java-21
+          - os: ubuntu:20.04
+            java: java-25
           - spark: spark-4.0
             java: java-8
           - spark: spark-4.0
@@ -167,6 +175,8 @@ jobs:
           if [ "${{ matrix.java }}" = "java-17" ]; then
             apt-get update && apt-get install -y openjdk-17-jdk wget
             apt remove openjdk-11* -y
+          elif [ "${{ matrix.java }}" = "java-25" ]; then
+            apt-get update && apt-get install -y openjdk-25-jdk wget
           elif [ "${{ matrix.java }}" = "java-21" ]; then
             apt-get update && apt-get install -y openjdk-21-jdk wget
           elif [ "${{ matrix.java }}" = "java-11" ]; then
diff --git a/docs/developers/NewToGluten.md b/docs/developers/NewToGluten.md
index 6c14363b2c..43c9433d22 100644
--- a/docs/developers/NewToGluten.md
+++ b/docs/developers/NewToGluten.md
@@ -16,12 +16,13 @@ Gluten supports Ubuntu 20.04/22.04, CentOS 7/8, and MacOS.
 Gluten supports JDK 8 for Spark 3.3, 3.4, and 3.5. For Spark 3.3 and later 
versions, Gluten
 also supports JDK 11 and 17.
 
-Note: Starting with Spark 4.0, the minimum required JDK version is 17.
+Note: Starting with Spark 4.0, the minimum required JDK version is 17. JDK 21 
and 25 are also
+supported for Spark 4.0 and later versions.
 We recommend using a higher JDK version now to ease migration when deploying 
Gluten for Spark 4.0
 in the future. In addition, we may upgrade Arrow from 15.0.0 to a newer 
release, which will require
 JDK 11 as the minimum version.
 
-By default, Gluten compiles packages using JDK 8. Enable maven profile by 
`-Pjava-17` or `-Pjava-11` to use the corresponding JDK version, and ensure 
that the JDK version is available in your environment.
+By default, Gluten compiles packages using JDK 8. Enable maven profile by 
`-Pjava-17`, `-Pjava-21`, `-Pjava-25` or `-Pjava-11` to use the corresponding 
JDK version, and ensure that the JDK version is available in your environment.
 
 If JDK 11 or a higher version is used, Spark and Arrow require setting the 
java args `-Dio.netty.tryReflectionSetAccessible=true`, see 
[SPARK-29924](https://issues.apache.org/jira/browse/SPARK-29924) and 
[ARROW-6206](https://issues.apache.org/jira/browse/ARROW-6206).
 
diff --git a/pom.xml b/pom.xml
index 676c7252ac..d083252c93 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1155,6 +1155,23 @@
         <googlejavaformat.version>1.17.0</googlejavaformat.version>
       </properties>
     </profile>
+    <profile>
+      <id>java-25</id>
+      <activation>
+        <jdk>25</jdk>
+      </activation>
+      <properties>
+        <java.version>25</java.version>
+        <scala.release.version>21</scala.release.version>
+        <maven.compiler.source>21</maven.compiler.source>
+        <maven.compiler.target>21</maven.compiler.target>
+        <caffeine.version>3.1.8</caffeine.version>
+        <spotless.version>2.44.4</spotless.version>
+        <googlejavaformat.version>1.25.2</googlejavaformat.version>
+        <!-- spotless-maven-plugin 2.44.x is not compatible with JDK 25 due to 
internal API changes -->
+        <spotless.check.skip>true</spotless.check.skip>
+      </properties>
+    </profile>
     <profile>
       <id>spark-3.3</id>
       <properties>
@@ -1298,7 +1315,7 @@
                   <rules>
                     <requireActiveProfile>
                       <!-- Spark 4.0 requires Java 17+ -->
-                      <profiles>java-17,java-21</profiles>
+                      <profiles>java-17,java-21,java-25</profiles>
                       <all>false</all>
                       <message>"-P spark-4.0" requires JDK 17+</message>
                     </requireActiveProfile>
@@ -1378,7 +1395,7 @@
                   <rules>
                     <requireActiveProfile>
                       <!-- Spark 4.1 requires Java 17+ -->
-                      <profiles>java-17,java-21</profiles>
+                      <profiles>java-17,java-21,java-25</profiles>
                       <all>false</all>
                       <message>"-P spark-4.1" requires JDK 17+</message>
                     </requireActiveProfile>
diff --git a/tools/gluten-it/pom.xml b/tools/gluten-it/pom.xml
index 1afea4edce..7dcce0e4c5 100644
--- a/tools/gluten-it/pom.xml
+++ b/tools/gluten-it/pom.xml
@@ -274,6 +274,19 @@
         <googlejavaformat.version>1.17.0</googlejavaformat.version>
       </properties>
     </profile>
+    <profile>
+      <id>java-25</id>
+      <activation>
+        <jdk>25</jdk>
+      </activation>
+      <properties>
+        <java.version>25</java.version>
+        <spotless.version>2.44.4</spotless.version>
+        <googlejavaformat.version>1.25.2</googlejavaformat.version>
+        <!-- spotless-maven-plugin 2.44.x is not compatible with JDK 25 due to 
internal API changes -->
+        <spotless.check.skip>true</spotless.check.skip>
+      </properties>
+    </profile>
     <profile>
       <id>spark-3.3</id>
       <properties>
@@ -308,7 +321,7 @@
       <id>spark-4.0</id>
       <properties>
         <spark.version>4.0.1</spark.version>
-        <scala.version>2.13.16</scala.version>
+        <scala.version>2.13.17</scala.version>
         <scala.binary.version>2.13</scala.binary.version>
         <delta.package.name>delta-spark</delta.package.name>
         <delta.version>4.0.0</delta.version>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to