You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by yh...@apache.org on 2026/10/15 13:03:15 UTC

(beam) branch master updated: Fix JmsIO finalize removal warning and clean up stale Java version logic (#40595)

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

Abacn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new b7907d76fcf Fix JmsIO finalize removal warning and clean up stale Java version logic (#40595)
b7907d76fcf is described below

commit b7907d76fcf49421330c6fefe593cc69bb1a0443
Author: Yi Hu <ya...@google.com>
AuthorDate: Thu Oct 15 09:03:06 2026 -0400

    Fix JmsIO finalize removal warning and clean up stale Java version logic (#40595)
---
 .../org/apache/beam/gradle/BeamModulePlugin.groovy | 46 ++++++----------------
 .../java/org/apache/beam/sdk/io/jms/JmsIO.java     |  2 +-
 2 files changed, 14 insertions(+), 34 deletions(-)

diff --git a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
index 19ecad1a5af..6550dbd843b 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
@@ -482,32 +482,19 @@ class BeamModulePlugin implements Plugin<Project> {
   /*
    * Set compile args for compiling and running in different java version by modifying the compiler args in place.
    *
-   * Replace `-source X` and `-target X` or `--release X` options if already existed in compilerArgs.
+   * Replace `--release X` option if already existed in compilerArgs.
    */
   static def setCompileAndRuntimeJavaVersion(List<String> compilerArgs, String ver) {
-    boolean foundS = false, foundT = false
-    int foundR = -1
+    boolean foundR = false
     logger.fine("set java ver ${ver} to compiler args")
-    for (int i = 0; i < compilerArgs.size()-1; ++i) {
-      if (compilerArgs.get(i) == '-source') {
-        foundS = true
-        compilerArgs.set(i+1, ver)
-      } else if (compilerArgs.get(i) == '-target')  {
-        foundT = true
-        compilerArgs.set(i+1, ver)
-      } else if (compilerArgs.get(i) == '--release') {
-        foundR = i
+    for (int i = 0; i < compilerArgs.size() - 1; ++i) {
+      if (compilerArgs.get(i) == '--release') {
+        foundR = true
+        compilerArgs.set(i + 1, ver)
       }
     }
-    if (foundR != -1) {
-      compilerArgs.removeAt(foundR + 1)
-      compilerArgs.removeAt(foundR)
-    }
-    if (!foundS) {
-      compilerArgs.addAll('-source', ver)
-    }
-    if (!foundT) {
-      compilerArgs.addAll('-target', ver)
+    if (!foundR) {
+      compilerArgs.addAll('--release', ver)
     }
   }
 
@@ -1032,10 +1019,6 @@ class BeamModulePlugin implements Plugin<Project> {
         options.fork = true
         options.forkOptions.javaHome = java17Home as File
         options.compilerArgs += ['-Xlint:-path']
-        // Error prone requires some packages to be exported/opened for Java 17
-        // Disabling checks since this property is only used for tests
-        // https://github.com/tbroyer/gradle-errorprone-plugin#jdk-16-support
-        options.errorprone.errorproneArgs.add("-XepDisableAllChecks")
         // The -J prefix is needed to workaround https://github.com/gradle/gradle/issues/22747
         options.forkOptions.jvmArgs += errorProneAddModuleOpts.collect { '-J' + it }
       } else if (ver == '21' || ver == '25') {
@@ -1047,19 +1030,16 @@ class BeamModulePlugin implements Plugin<Project> {
           '-Xlint:-this-escape'
         ]
         if (ver == '25') {
+         // TODO: Upgrade errorprone and checkerFramework when Beam move to Java17+ and enable it in Java 25+
+          options.errorprone.errorproneArgs.add("-XepDisableAllChecks")
+          project.checkerFramework {
+            skipCheckerFramework = true
+          }
           options.compilerArgs += [
             '-Xlint:-dangling-doc-comments'
           ]
         }
-        // Error prone requires some packages to be exported/opened for Java 17+
-        // Disabling checks since this property is only used for tests
-        options.errorprone.errorproneArgs.add("-XepDisableAllChecks")
         options.forkOptions.jvmArgs += errorProneAddModuleOpts.collect { '-J' + it }
-        // TODO(https://github.com/apache/beam/issues/28963)
-        // upgrade checkerFramework to enable it in Java 21+
-        project.checkerFramework {
-          skipCheckerFramework = true
-        }
       } else {
         throw new GradleException("Unknown Java Version ${ver} for setting additional java options")
       }
diff --git a/sdks/java/io/jms/src/main/java/org/apache/beam/sdk/io/jms/JmsIO.java b/sdks/java/io/jms/src/main/java/org/apache/beam/sdk/io/jms/JmsIO.java
index 8de0ef52698..1b9d0ce5acd 100644
--- a/sdks/java/io/jms/src/main/java/org/apache/beam/sdk/io/jms/JmsIO.java
+++ b/sdks/java/io/jms/src/main/java/org/apache/beam/sdk/io/jms/JmsIO.java
@@ -1003,7 +1003,7 @@ public class JmsIO {
     }
 
     @Override
-    @SuppressWarnings("Finalize")
+    @SuppressWarnings({"Finalize", "removal"})
     protected void finalize() {
       doClose();
     }