From a5044e82518842def5f38e93d4aa04de2faa36cc Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Thu, 20 Aug 2026 01:26:17 +0000 Subject: [PATCH 1/3] ci: streamline enforcer job and update version requirements - Remove banDuplicateClasses enforcer rule in java-shared-config to eliminate need for building and installing all module JARs to local disk - Remove pre-install step in CI enforcer workflow, allowing direct enforcer execution across all modules in seconds - Update requireMavenVersion to [3.9.0,) and requireJavaVersion to [1.8,) - Set enforcer.skip to true for java-samples parent POM --- .github/workflows/ci.yaml | 5 ----- java-samples/pom.xml | 4 ++++ java-shared-config/java-shared-config/pom.xml | 12 ++---------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7343ccaf117f..7cbc315fe41e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -413,11 +413,6 @@ jobs: java-version: 11 cache: maven - run: java -version - - name: Install Maven modules to local Maven repository - run: .kokoro/build.sh - env: - JOB_TYPE: install - - run: java -version - run: mvn -B -ntp enforcer:enforce@enforce -T 1C gapic-libraries-bom: needs: bulk-filter diff --git a/java-samples/pom.xml b/java-samples/pom.xml index 5aa6ff8902ba..24ad6e02754f 100644 --- a/java-samples/pom.xml +++ b/java-samples/pom.xml @@ -17,6 +17,10 @@ ../google-cloud-jar-parent/pom.xml + + true + + native-image-sample diff --git a/java-shared-config/java-shared-config/pom.xml b/java-shared-config/java-shared-config/pom.xml index 4c16a871f4fb..55e8a8bff345 100644 --- a/java-shared-config/java-shared-config/pom.xml +++ b/java-shared-config/java-shared-config/pom.xml @@ -248,20 +248,12 @@ - [3.0,) + [3.9.0,) - [1.7,) + [1.8,) - - - compile - provided - - true - true - From 5a58c5ce06bb14143f165f5a2b30a375dde29669 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 24 Aug 2026 16:44:42 +0000 Subject: [PATCH 2/3] ci(deps): scope banDuplicateClasses check to java-shared-dependencies - Add banDuplicateClasses and requireUpperBoundDeps rules to upper-bound-check enforcer configuration - Update sdk-platform-java shared-dependencies CI workflow to trigger enforcer check on upper-bound-check - Preserves duplicate classes protection for all shared dependencies without requiring full-repo compilation --- ...sdk-platform-java-shared_dependencies.yaml | 11 +++--- .../upper-bound-check/pom.xml | 38 +++++++++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sdk-platform-java-shared_dependencies.yaml b/.github/workflows/sdk-platform-java-shared_dependencies.yaml index d6bed662aecd..71c2b31966f0 100644 --- a/.github/workflows/sdk-platform-java-shared_dependencies.yaml +++ b/.github/workflows/sdk-platform-java-shared_dependencies.yaml @@ -7,9 +7,10 @@ on: - main pull_request: paths: - - 'gapic-generator-java-bom/**' - - 'gapic-generator-java-pom-parent/**' - - 'java-shared-dependencies/**' + - 'sdk-platform-java/gapic-generator-java-bom/**' + - 'sdk-platform-java/gapic-generator-java-pom-parent/**' + - 'sdk-platform-java/java-shared-dependencies/**' + - '.github/workflows/sdk-platform-java-shared_dependencies.yaml' name: sdk-platform-java shared-dependencies version check env: BUILD_SUBDIR: sdk-platform-java @@ -46,6 +47,6 @@ jobs: - name: Install maven modules run: | mvn install -B -ntp -DskipTests -Pquick-build - - name: Check the BOM content satisfies the upper-bound-check test case - run: mvn -B -V -ntp verify -Pquick-build + - name: Check the BOM content satisfies the upper-bound-check and duplicate-classes test case + run: mvn -B -ntp enforcer:enforce working-directory: sdk-platform-java/java-shared-dependencies/upper-bound-check diff --git a/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml b/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml index 38daad98985e..99263a0ba2a3 100644 --- a/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml +++ b/sdk-platform-java/java-shared-dependencies/upper-bound-check/pom.xml @@ -252,4 +252,42 @@ bcprov-jdk18on + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.5.0 + + + org.codehaus.mojo + extra-enforcer-rules + 1.9.0 + + + + + + + + compile + provided + + true + true + + + + + + enforce-banned-duplicate-classes + + enforce + + + + + + From c7e3383d92330dae234465dd4f0d94713c4d4ede Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 24 Aug 2026 16:58:29 +0000 Subject: [PATCH 3/3] ci(deps): override enforcer rules in google-auth and grpc-gcp - Override inherited enforce execution rules in google-auth-library-java and grpc-gcp-java to exclude banDuplicateClasses - Use combine.self="override" to prevent merging rules from released parent POM - Allows fast root enforcer execution across all modules without pre-installing SNAPSHOT JARs --- google-auth-library-java/bom/pom.xml | 25 +++++++++++++++++++++++++ google-auth-library-java/pom.xml | 20 ++++++++++++++++++++ grpc-gcp-java/pom.xml | 20 ++++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/google-auth-library-java/bom/pom.xml b/google-auth-library-java/bom/pom.xml index 3eea471e3041..3013faf7bcdf 100644 --- a/google-auth-library-java/bom/pom.xml +++ b/google-auth-library-java/bom/pom.xml @@ -42,4 +42,29 @@ + + + + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce + + + + [3.9.0,) + + + [1.8,) + + + + + + + + + diff --git a/google-auth-library-java/pom.xml b/google-auth-library-java/pom.xml index 374ec0ed8737..499d4500568e 100644 --- a/google-auth-library-java/pom.xml +++ b/google-auth-library-java/pom.xml @@ -278,6 +278,26 @@ + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce + + + + [3.9.0,) + + + [1.8,) + + + + + + + maven-compiler-plugin 3.14.0 diff --git a/grpc-gcp-java/pom.xml b/grpc-gcp-java/pom.xml index 86fcc813471c..442fa2f28271 100644 --- a/grpc-gcp-java/pom.xml +++ b/grpc-gcp-java/pom.xml @@ -237,6 +237,26 @@ + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce + + + + [3.9.0,) + + + [1.8,) + + + + + + + org.graalvm.buildtools native-maven-plugin