This is an automated email from the ASF dual-hosted git repository. dongjoon pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/spark-kubernetes-operator.git
The following commit(s) were added to refs/heads/main by this push: new bb43a3d [SPARK-51953] Support Java 24 bb43a3d is described below commit bb43a3da991238432ea5bb5406e1ba93a7ba9c35 Author: Dongjoon Hyun <dongj...@apache.org> AuthorDate: Tue Apr 29 21:55:41 2025 -0700 [SPARK-51953] Support Java 24 ### What changes were proposed in this pull request? This PR aims to support Java 24 as a preparation of Java 25 LTS. - Update `lombok`, `jacoco`, and `mockito` libraries to support Java 24. - Disable `pmd` and `spotbugs` plugins. - Add `--enable-native-access=ALL-UNNAMED` to `DEFAULT_JVM_OPTS`. - Add `SPARK_USER=spark` environment to the operator pod explicitly. - Update `4.0.0-preview2` dependency to `4.0.1-SNAPSHOT` to validate with the upcoming `Apache Spark 4.0.0 RC5`. - Use `azul/zulu-openjdk:24-jre` as the docker base image. - Add `Java 24` to the CI. ### Why are the changes needed? To support Java 24 as a preparation of Java 25 LTS. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass the CIs. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #178 from dongjoon-hyun/SPARK-51953. Authored-by: Dongjoon Hyun <dongj...@apache.org> Signed-off-by: Dongjoon Hyun <dongj...@apache.org> --- .github/workflows/build_and_test.yml | 2 +- build-tools/docker/Dockerfile | 2 +- .../helm/spark-kubernetes-operator/values.yaml | 2 ++ build.gradle | 33 +++++++++++++--------- gradle/libs.versions.toml | 8 +++--- gradlew | 2 +- 6 files changed, 28 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index f37f2e2..d8eefd9 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -33,7 +33,7 @@ jobs: fail-fast: false matrix: os: [ 'ubuntu-latest', 'ubuntu-24.04-arm' ] - java-version: [ 17, 21 ] + java-version: [ 17, 21, 24 ] steps: - name: Checkout repository uses: actions/checkout@v3 diff --git a/build-tools/docker/Dockerfile b/build-tools/docker/Dockerfile index 5f6a92f..725f559 100644 --- a/build-tools/docker/Dockerfile +++ b/build-tools/docker/Dockerfile @@ -22,7 +22,7 @@ COPY . . RUN --mount=type=cache,target=/home/gradle/.gradle/caches gradle --no-daemon clean build -x check -FROM azul/zulu-openjdk:21-jre +FROM azul/zulu-openjdk:24-jre ARG APP_VERSION=0.1.0-SNAPSHOT ARG SPARK_UID=185 diff --git a/build-tools/helm/spark-kubernetes-operator/values.yaml b/build-tools/helm/spark-kubernetes-operator/values.yaml index 85ff211..53c387e 100644 --- a/build-tools/helm/spark-kubernetes-operator/values.yaml +++ b/build-tools/helm/spark-kubernetes-operator/values.yaml @@ -43,6 +43,8 @@ operatorDeployment: operatorContainer: jvmArgs: "-Dfile.encoding=UTF8" env: + - name: "SPARK_USER" + value: "spark" envFrom: volumeMounts: { } resources: diff --git a/build.gradle b/build.gradle index 8ba7343..223c7e9 100644 --- a/build.gradle +++ b/build.gradle @@ -58,6 +58,9 @@ subprojects { repositories { mavenCentral() + maven { + url = "https://repository.apache.org/content/repositories/snapshots/" + } } apply plugin: 'checkstyle' @@ -68,22 +71,24 @@ subprojects { showViolations = true } - apply plugin: 'pmd' - pmd { - ruleSetFiles = files("$rootDir/config/pmd/ruleset.xml") - toolVersion = libs.versions.pmd.get() - consoleOutput = true - ignoreFailures = false - } + if (JavaVersion.current() < JavaVersion.VERSION_24) { + apply plugin: 'pmd' + pmd { + ruleSetFiles = files("$rootDir/config/pmd/ruleset.xml") + toolVersion = libs.versions.pmd.get() + consoleOutput = true + ignoreFailures = false + } - apply plugin: 'com.github.spotbugs' - spotbugs { - toolVersion = libs.versions.spotbugs.tool.get() - afterEvaluate { - reportsDir = file("${project.reporting.baseDir}/findbugs") + apply plugin: 'com.github.spotbugs' + spotbugs { + toolVersion = libs.versions.spotbugs.tool.get() + afterEvaluate { + reportsDir = file("${project.reporting.baseDir}/findbugs") + } + excludeFilter = file("$rootDir/config/spotbugs/spotbugs_exclude.xml") + ignoreFailures = false } - excludeFilter = file("$rootDir/config/spotbugs/spotbugs_exclude.xml") - ignoreFailures = false } apply plugin: 'jacoco' diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d766f1f..2b0f6e9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,17 +16,17 @@ # under the License. [versions] fabric8 = "7.1.0" -lombok = "1.18.32" +lombok = "1.18.38" operator-sdk = "4.9.0" okhttp = "4.12.0" dropwizard-metrics = "4.2.25" -spark = "4.0.0-preview2" +spark = "4.0.1-SNAPSHOT" log4j = "2.24.2" # Test junit = "5.10.2" -jacoco = "0.8.12" -mockito = "5.11.0" +jacoco = "0.8.13" +mockito = "5.17.0" powermock = "2.0.9" # Build Analysis diff --git a/gradlew b/gradlew index 21bed9b..118b4ab 100755 --- a/gradlew +++ b/gradlew @@ -210,7 +210,7 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m" "--enable-native-access=ALL-UNNAMED"' # Collect all arguments for the java command: # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org