Skip to content

build: replace non-curatable dependencies and align profiles for Airlock - #14692

Open
hj690 wants to merge 2 commits into
googleapis:mainfrom
hj690:fix-airlock-trusted-deps
Open

hj690 wants to merge 2 commits into
googleapis:mainfrom
hj690:fix-airlock-trusted-deps

Conversation

@hj690

@hj690 hj690 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR prepares google-cloud-java and java-cloud-bom to build and release using only dependencies from the Airlock trusted Maven repository (maven-3p-trusted).

Changes

  1. Replace isorelax:isorelax:20030108 with org.netbeans.external:isorelax:RELEASE310 in 7 internal tooling POMs (java-cloud-bom/{dashboard,libraries-release-data,release-note-generation,tests,tests/validate-bom} and sdk-platform-java/java-shared-dependencies/{dependency-convergence-check,unmanaged-dependency-check}):
    • isorelax:isorelax:20030108 (transitively pulled by com.google.cloud.tools:dependencies) has no license metadata in its POM or source repository.
    • Excludes isorelax:isorelax and replaces it with org.netbeans.external:isorelax:RELEASE310 (MIT license, identical org.iso_relax JARV API, available in maven-3p-trusted).
  2. Move clirr-maven-plugin into the clirr-compatibility-check profile in google-auth-library-java/pom.xml:
    • Wraps the clirr-maven-plugin binding in a JDK-activated clirr-compatibility-check profile matching java-shared-config.
    • Keeps CLIRR enabled by default in CI while allowing release scripts (-P=-clirr-compatibility-check) to skip resolving plexus-components:1.1.4 and classworlds:1.1-alpha-2.
  3. Pin maven-surefire-plugin:3.5.3 in java-cloud-bom/pom.xml and java-cloud-bom/dashboard/pom.xml:
    • Replaces unpinned maven-surefire-plugin:2.17 and inherited 2.22.2 so the java-cloud-bom release build stops pulling classworlds:1.1, classworlds:1.1-alpha-2, and slf4j-api:1.5.6.
  4. Remove <module>tests/dependency-convergence</module> from the default java-cloud-bom/pom.xml reactor:
    • Prevents the java-cloud-bom release reactor from resolving every newly published 1P artifact from the same-day release train before Airlock finishes importing them. CI (.kokoro/dashboard.sh) runs dependency-convergence-check separately.
  5. Bump libraries-bom to 26.90.0 in java-samples/native-image-sample/pom.xml and java-spanner/samples/snippets/pom.xml:
    • Replaces older libraries-bom imports (26.80.0 and 26.84.0) that pull google-cloud-bom:0.261.0 and 0.265.0 with 26.90.0 (google-cloud-bom:0.271.0, available in maven-3p-trusted).

@hj690
hj690 requested review from a team as code owners October 20, 2026 00:57

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request configures the CLIRR plugin within a profile in the Google Auth Library, replaces the unlicensed isorelax dependency with org.netbeans.external:isorelax across several POM files, pins the maven-surefire-plugin to version 3.5.3, and updates the libraries-bom version in samples. Feedback suggests also pinning the maven-failsafe-plugin to the same version (3.5.3) in both the root and dashboard POMs to avoid potential classpath or test runner conflicts.

Comment thread java-cloud-bom/pom.xml
Comment thread java-cloud-bom/dashboard/pom.xml
org.netbeans.external:isorelax replaces isorelax:isorelax as a runtime
dependency of com.google.cloud.tools:dependencies. No code in the
java-cloud-bom tooling modules uses it directly, so
.kokoro/dependencies.sh (dependency:analyze -DfailOnWarning=true) reports
it as an unused declared dependency. Add it to
ignoredUnusedDeclaredDependencies in the 5 analyzed modules.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant