From 1de81bc415897f38643e87050c4d5e5d9bd473d2 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 24 Aug 2026 17:39:30 +0000 Subject: [PATCH 1/7] ci(build): configure Google Maven Central mirror with Central fallback in settings.xml --- java-shared-config/settings.xml | 38 ++++++++++++++++++++++++++++++--- settings.xml | 37 +++++++++++++++++++++++++++++--- 2 files changed, 69 insertions(+), 6 deletions(-) diff --git a/java-shared-config/settings.xml b/java-shared-config/settings.xml index 5df3ab0b2a1a..80cfa08df63b 100644 --- a/java-shared-config/settings.xml +++ b/java-shared-config/settings.xml @@ -18,6 +18,38 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> - - - \ No newline at end of file + + + google-maven-mirror + + + google-maven-central + Google Maven Central Mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + + google-maven-central + Google Maven Central Mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + + + google-maven-mirror + + diff --git a/settings.xml b/settings.xml index 3af27a94af88..d3906f79fd7e 100644 --- a/settings.xml +++ b/settings.xml @@ -18,7 +18,38 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> - + + + google-maven-mirror + + + google-maven-central + Google Maven Central Mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + + google-maven-central + Google Maven Central Mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + + + google-maven-mirror + From 996b76b7102f000f1bb9573edd9575467735d13c Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 24 Aug 2026 18:10:08 +0000 Subject: [PATCH 2/7] ci(build): consolidate Maven settings to root settings.xml and remove redundant shared-config copy --- .kokoro/presubmit/downstream-build.sh | 8 ++-- java-shared-config/settings.xml | 55 --------------------------- 2 files changed, 4 insertions(+), 59 deletions(-) delete mode 100644 java-shared-config/settings.xml diff --git a/.kokoro/presubmit/downstream-build.sh b/.kokoro/presubmit/downstream-build.sh index aa6781b1ffee..a70e072d7fc2 100755 --- a/.kokoro/presubmit/downstream-build.sh +++ b/.kokoro/presubmit/downstream-build.sh @@ -31,6 +31,10 @@ scriptDir=$(realpath "$(dirname "${BASH_SOURCE[0]}")") ## cd to the parent directory, i.e. the root of the git repo cd "${scriptDir}/../.." +# Use GCP Maven Mirror from repository root +mkdir -p "${HOME}/.m2" +cp settings.xml "${HOME}/.m2" + # Build and install the entire monorepo to local cache (including the under-test java-shared-config) mvn -B -ntp install -Dcheckstyle.skip -Dfmt.skip -DskipTests @@ -38,10 +42,6 @@ mvn -B -ntp install -Dcheckstyle.skip -Dfmt.skip -DskipTests VERSION_POM=java-shared-config/java-shared-config/pom.xml SHARED_CONFIG_VERSION=$(sed -e 's/xmlns=".*"//' ${VERSION_POM} | xmllint --xpath '/project/version/text()' -) -# Use GCP Maven Mirror (as in original script) -mkdir -p "${HOME}/.m2" -cp java-shared-config/settings.xml "${HOME}/.m2" - # Update the shared-config version in the local java-showcase parent pushd java-showcase modify_shared_config diff --git a/java-shared-config/settings.xml b/java-shared-config/settings.xml deleted file mode 100644 index 80cfa08df63b..000000000000 --- a/java-shared-config/settings.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - google-maven-mirror - - - google-maven-central - Google Maven Central Mirror - https://maven-central.storage-download.googleapis.com/maven2/ - - true - - - false - - - - - - google-maven-central - Google Maven Central Mirror - https://maven-central.storage-download.googleapis.com/maven2/ - - true - - - false - - - - - - - google-maven-mirror - - From de5af295d07534b5d0f72bffc511f2329addd90c Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 24 Aug 2026 18:11:37 +0000 Subject: [PATCH 3/7] docs: add comments in settings.xml explaining profile vs mirror fallback architecture --- settings.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/settings.xml b/settings.xml index d3906f79fd7e..1efe90bb814f 100644 --- a/settings.xml +++ b/settings.xml @@ -18,6 +18,28 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> + google-maven-mirror From 651486d1fe17d718d70194a2c7958e066f6d5f7a Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 24 Aug 2026 14:22:17 -0400 Subject: [PATCH 4/7] Update .kokoro/presubmit/downstream-build.sh Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .kokoro/presubmit/downstream-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.kokoro/presubmit/downstream-build.sh b/.kokoro/presubmit/downstream-build.sh index a70e072d7fc2..e96a92b0f853 100755 --- a/.kokoro/presubmit/downstream-build.sh +++ b/.kokoro/presubmit/downstream-build.sh @@ -33,7 +33,7 @@ cd "${scriptDir}/../.." # Use GCP Maven Mirror from repository root mkdir -p "${HOME}/.m2" -cp settings.xml "${HOME}/.m2" +cp settings.xml "${HOME}/.m2/settings.xml" # Build and install the entire monorepo to local cache (including the under-test java-shared-config) mvn -B -ntp install -Dcheckstyle.skip -Dfmt.skip -DskipTests From 7e5b3984314f5122cdcdabd6357b5b020ab640c6 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Tue, 25 Aug 2026 01:08:30 +0000 Subject: [PATCH 5/7] ci: ensure root settings.xml is configured in client-library-check scripts --- .kokoro/client-library-check-doclet.sh | 4 ++++ .kokoro/client-library-check.sh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.kokoro/client-library-check-doclet.sh b/.kokoro/client-library-check-doclet.sh index 3c774c62582f..a8cb1fb3b678 100755 --- a/.kokoro/client-library-check-doclet.sh +++ b/.kokoro/client-library-check-doclet.sh @@ -75,6 +75,10 @@ scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) ## cd to the parent directory, i.e. the root of the git repo cd ${scriptDir}/.. +# Use GCP Maven Mirror from repository root +mkdir -p "${HOME}/.m2" +cp settings.xml "${HOME}/.m2" + # Make artifacts available for 'mvn validate' at the bottom pushd java-shared-config mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q --no-transfer-progress diff --git a/.kokoro/client-library-check.sh b/.kokoro/client-library-check.sh index 0eb9f817bb61..e84f284da92e 100755 --- a/.kokoro/client-library-check.sh +++ b/.kokoro/client-library-check.sh @@ -86,6 +86,10 @@ scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) ## cd to the parent directory, i.e. the root of the git repo cd ${scriptDir}/.. +# Use GCP Maven Mirror from repository root +mkdir -p "${HOME}/.m2" +cp settings.xml "${HOME}/.m2" + # Make artifacts available for 'mvn validate' at the bottom pushd java-shared-config mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q From b8ed9fcba510a9293f65c8371a1ce1d234e3ad0e Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Tue, 25 Aug 2026 01:20:34 +0000 Subject: [PATCH 6/7] ci: ensure Google Maven mirror settings are applied across all workflows and scripts --- .github/workflows/java-cloud-bom-ci.yaml | 6 ++++++ .../workflows/java-cloud-bom-release-note-generation.yaml | 2 ++ .github/workflows/java-spanner-jdbc-quickperf.yaml | 2 ++ .github/workflows/java-spanner-jdbc-sample-tests.yml | 2 ++ .../java-spanner-jdbc-spring-data-jdbc-sample.yaml | 2 ++ .../java-spanner-jdbc-spring-data-mybatis-sample.yaml | 2 ++ .github/workflows/sdk-platform-java-analyze_dependency.yaml | 2 ++ ...ava-downstream_protobuf_compatibility_check_nightly.yaml | 2 ++ .../workflows/sdk-platform-java-shared_dependencies.yaml | 2 ++ .github/workflows/unmanaged_dependency_check.yaml | 2 ++ .kokoro/bigtable-conformance.sh | 1 + .kokoro/dashboard.sh | 4 ++++ .kokoro/dependencies.sh | 1 + .../nightly/downstream-protobuf-binary-compatibility.sh | 4 ++++ .../nightly/downstream-protobuf-source-compatibility.sh | 4 ++++ sdk-platform-java/.kokoro/presubmit/common.sh | 6 +++--- sdk-platform-java/.kokoro/presubmit/downstream-build.sh | 1 + sdk-platform-java/.kokoro/presubmit/showcase-native.sh | 3 +-- 18 files changed, 43 insertions(+), 5 deletions(-) diff --git a/.github/workflows/java-cloud-bom-ci.yaml b/.github/workflows/java-cloud-bom-ci.yaml index 3e83cf926698..3820f38de9e4 100644 --- a/.github/workflows/java-cloud-bom-ci.yaml +++ b/.github/workflows/java-cloud-bom-ci.yaml @@ -59,6 +59,8 @@ jobs: java-version: ${{matrix.java}} cache: 'maven' - run: java -version + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - run: .kokoro/dependencies.sh @@ -77,6 +79,8 @@ jobs: java-version: 11 cache: maven - run: java -version + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - name: Install BOMs @@ -107,6 +111,8 @@ jobs: java-version: 11 cache: maven - run: java -version + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - name: Install BOMs diff --git a/.github/workflows/java-cloud-bom-release-note-generation.yaml b/.github/workflows/java-cloud-bom-release-note-generation.yaml index d8ed304490f9..f0cb2d1cbbbc 100644 --- a/.github/workflows/java-cloud-bom-release-note-generation.yaml +++ b/.github/workflows/java-cloud-bom-release-note-generation.yaml @@ -34,6 +34,8 @@ jobs: java-version: 11 cache: maven - run: java -version + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - name: Pick Libraries BOM version diff --git a/.github/workflows/java-spanner-jdbc-quickperf.yaml b/.github/workflows/java-spanner-jdbc-quickperf.yaml index 853d136e098a..1772d0e37cbf 100644 --- a/.github/workflows/java-spanner-jdbc-quickperf.yaml +++ b/.github/workflows/java-spanner-jdbc-quickperf.yaml @@ -49,6 +49,8 @@ jobs: distribution: temurin java-version: 17 cache: maven + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Run tests run: mvn test working-directory: java-spanner-jdbc/samples/quickperf diff --git a/.github/workflows/java-spanner-jdbc-sample-tests.yml b/.github/workflows/java-spanner-jdbc-sample-tests.yml index 37533f87e8b5..50f5e52c3622 100644 --- a/.github/workflows/java-spanner-jdbc-sample-tests.yml +++ b/.github/workflows/java-spanner-jdbc-sample-tests.yml @@ -49,6 +49,8 @@ jobs: distribution: temurin java-version: 8 cache: maven + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Run sample tests run: mvn --quiet --batch-mode test working-directory: java-spanner-jdbc/samples/snippets diff --git a/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml b/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml index 761f8fbcd8db..b1b6d9ce56be 100644 --- a/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml +++ b/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml @@ -49,6 +49,8 @@ jobs: distribution: temurin java-version: 17 cache: maven + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Run tests on GoogleSQL run: mvn test working-directory: java-spanner-jdbc/samples/spring-data-jdbc/googlesql diff --git a/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml b/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml index ce85b6b59dfa..6fcb2a68f1ee 100644 --- a/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml +++ b/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml @@ -49,6 +49,8 @@ jobs: distribution: temurin java-version: 17 cache: maven + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Run GoogleSQL sample tests run: mvn test working-directory: java-spanner-jdbc/samples/spring-data-mybatis/googlesql diff --git a/.github/workflows/sdk-platform-java-analyze_dependency.yaml b/.github/workflows/sdk-platform-java-analyze_dependency.yaml index 12d8f926a688..173fc30a7dc9 100644 --- a/.github/workflows/sdk-platform-java-analyze_dependency.yaml +++ b/.github/workflows/sdk-platform-java-analyze_dependency.yaml @@ -54,6 +54,8 @@ jobs: uses: stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f # v4.5 with: maven-version: 3.8.2 + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install dependency analyzer shell: bash run: | diff --git a/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml b/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml index fa65b5b92603..e6b770ca01e7 100644 --- a/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml +++ b/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml @@ -34,6 +34,8 @@ jobs: java-version: 11 distribution: temurin cache: maven + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - id: resolve-versions name: Resolve Protobuf versions env: diff --git a/.github/workflows/sdk-platform-java-shared_dependencies.yaml b/.github/workflows/sdk-platform-java-shared_dependencies.yaml index d6bed662aecd..961d86f886dd 100644 --- a/.github/workflows/sdk-platform-java-shared_dependencies.yaml +++ b/.github/workflows/sdk-platform-java-shared_dependencies.yaml @@ -43,6 +43,8 @@ jobs: java-version: 17 cache: maven - run: java -version + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install maven modules run: | mvn install -B -ntp -DskipTests -Pquick-build diff --git a/.github/workflows/unmanaged_dependency_check.yaml b/.github/workflows/unmanaged_dependency_check.yaml index c7811ef89381..4998f2957974 100644 --- a/.github/workflows/unmanaged_dependency_check.yaml +++ b/.github/workflows/unmanaged_dependency_check.yaml @@ -38,6 +38,8 @@ jobs: distribution: temurin java-version: 11 cache: maven + - name: Use GCP Maven Mirror + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" - name: Install all modules shell: bash run: | diff --git a/.kokoro/bigtable-conformance.sh b/.kokoro/bigtable-conformance.sh index 038cbfc75249..21ba354f5087 100755 --- a/.kokoro/bigtable-conformance.sh +++ b/.kokoro/bigtable-conformance.sh @@ -22,6 +22,7 @@ cd ${scriptDir}/.. # include common functions source ${scriptDir}/common.sh +setup_maven_mirror # Print out Maven & Java version mvn -version diff --git a/.kokoro/dashboard.sh b/.kokoro/dashboard.sh index 0a7fb642eb53..3e8422d72a91 100755 --- a/.kokoro/dashboard.sh +++ b/.kokoro/dashboard.sh @@ -18,6 +18,10 @@ set -eo pipefail scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) cd ${scriptDir}/.. +# Use GCP Maven Mirror from repository root +mkdir -p "${HOME}/.m2" +cp settings.xml "${HOME}/.m2" + outputFile="$scriptDir/../java-cloud-bom/dashboard/target/tmp/output.txt" if [[ "${JOB_TYPE}" == "dashboard-units-check" ]]; then diff --git a/.kokoro/dependencies.sh b/.kokoro/dependencies.sh index f341016b5033..879157ffe96d 100755 --- a/.kokoro/dependencies.sh +++ b/.kokoro/dependencies.sh @@ -23,6 +23,7 @@ cd ${scriptDir}/.. # include common functions source ${scriptDir}/common.sh +setup_maven_mirror # Print out Java java -version diff --git a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh index 352b2dd9e24d..7009db34a5ee 100755 --- a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh +++ b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh @@ -22,6 +22,10 @@ validate_protobuf_compatibility_script_inputs monorepoRoot=$(realpath "${scriptDir}/../../..") +# Use GCP Maven Mirror from monorepo root +mkdir -p "${HOME}/.m2" +cp "${monorepoRoot}/settings.xml" "${HOME}/.m2" + # Declare a map of downstream handwritten libraries and the relevant artifacts to test. The map stores a # K/V pairing of (Key: module name, Value: comma separate list of Group ID:Artifact ID pairings). Note: The # value list doesn't hold the version and this needs to be parsed from the monorepo's versions.txt file diff --git a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh index 5328e052e0eb..8b6ec9f28c31 100755 --- a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh +++ b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh @@ -22,6 +22,10 @@ validate_protobuf_compatibility_script_inputs monorepoRoot=$(realpath "${scriptDir}/../../..") +# Use GCP Maven Mirror from monorepo root +mkdir -p "${HOME}/.m2" +cp "${monorepoRoot}/settings.xml" "${HOME}/.m2" + # MODULES_UNDER_TEST Env Var accepts a comma separated list of monorepo submodules to test. For Github CI, # this will be a single module as Github will build a matrix of modules with each being tested in parallel. # For local invocation, you can pass a list of modules to test multiple modules together. diff --git a/sdk-platform-java/.kokoro/presubmit/common.sh b/sdk-platform-java/.kokoro/presubmit/common.sh index c9fd49ed299d..c8ce17b07391 100644 --- a/sdk-platform-java/.kokoro/presubmit/common.sh +++ b/sdk-platform-java/.kokoro/presubmit/common.sh @@ -92,15 +92,15 @@ function find_last_release_version { echo "${parts[1]}" } -# copies settings.xml from the root of sdk-platform-java into Maven's home -# folder +# copies settings.xml from the root of the monorepo into Maven's home folder function setup_maven_mirror { echo "Setup maven mirror" mkdir -p "${HOME}/.m2" - cp "${commonScriptDir}/../../settings.xml" "${HOME}/.m2" + cp "${commonScriptDir}/../../../settings.xml" "${HOME}/.m2" } function install_repo_modules { + setup_maven_mirror target_projects="$1" projects_arg="" if [ -n "${target_projects}" ]; then diff --git a/sdk-platform-java/.kokoro/presubmit/downstream-build.sh b/sdk-platform-java/.kokoro/presubmit/downstream-build.sh index 3a093c876718..f16db5f52b5e 100755 --- a/sdk-platform-java/.kokoro/presubmit/downstream-build.sh +++ b/sdk-platform-java/.kokoro/presubmit/downstream-build.sh @@ -24,6 +24,7 @@ fi scriptDir=$(realpath "$(dirname "${BASH_SOURCE[0]}")") cd "${scriptDir}/../.." # git repo root source "$scriptDir/common.sh" +setup_maven_mirror # Publish this repo's modules to local maven to make them available for downstream libraries mvn install --projects '!gapic-generator-java' \ diff --git a/sdk-platform-java/.kokoro/presubmit/showcase-native.sh b/sdk-platform-java/.kokoro/presubmit/showcase-native.sh index ad85d8dc6a08..c44d60ed100b 100644 --- a/sdk-platform-java/.kokoro/presubmit/showcase-native.sh +++ b/sdk-platform-java/.kokoro/presubmit/showcase-native.sh @@ -21,8 +21,7 @@ cd "${scriptDir}/../.." # git repo root source "$scriptDir/common.sh" # Use GCP Maven Mirror -mkdir -p "${HOME}/.m2" -cp settings.xml "${HOME}/.m2" +setup_maven_mirror # Publish this repo's modules to local maven to make them available for downstream libraries mvn install --projects '!gapic-generator-java' \ From c2ecace5f02b32c89ecf008a48a36326e3c85cc7 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Tue, 25 Aug 2026 01:30:08 +0000 Subject: [PATCH 7/7] ci: standardize on setup_maven_mirror and explicit ~/.m2/settings.xml target paths --- .github/workflows/java-cloud-bom-ci.yaml | 6 +++--- .../workflows/java-cloud-bom-release-note-generation.yaml | 2 +- .github/workflows/java-spanner-jdbc-quickperf.yaml | 2 +- .github/workflows/java-spanner-jdbc-sample-tests.yml | 2 +- .../java-spanner-jdbc-spring-data-jdbc-sample.yaml | 2 +- .../java-spanner-jdbc-spring-data-mybatis-sample.yaml | 2 +- .github/workflows/sdk-platform-java-analyze_dependency.yaml | 2 +- ...ava-downstream_protobuf_compatibility_check_nightly.yaml | 2 +- .../workflows/sdk-platform-java-shared_dependencies.yaml | 2 +- .github/workflows/unmanaged_dependency_check.yaml | 2 +- .kokoro/build.sh | 5 +---- .kokoro/client-library-check-doclet.sh | 6 +++--- .kokoro/client-library-check.sh | 6 +++--- .kokoro/common.sh | 6 +++--- .kokoro/dashboard.sh | 6 +++--- .kokoro/presubmit/downstream-build.sh | 6 +++--- .../nightly/downstream-protobuf-binary-compatibility.sh | 2 +- .../nightly/downstream-protobuf-source-compatibility.sh | 2 +- sdk-platform-java/.kokoro/presubmit/common.sh | 2 +- 19 files changed, 31 insertions(+), 34 deletions(-) diff --git a/.github/workflows/java-cloud-bom-ci.yaml b/.github/workflows/java-cloud-bom-ci.yaml index 3820f38de9e4..5ccf37d4327d 100644 --- a/.github/workflows/java-cloud-bom-ci.yaml +++ b/.github/workflows/java-cloud-bom-ci.yaml @@ -60,7 +60,7 @@ jobs: cache: 'maven' - run: java -version - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - run: .kokoro/dependencies.sh @@ -80,7 +80,7 @@ jobs: cache: maven - run: java -version - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - name: Install BOMs @@ -112,7 +112,7 @@ jobs: cache: maven - run: java -version - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - name: Install BOMs diff --git a/.github/workflows/java-cloud-bom-release-note-generation.yaml b/.github/workflows/java-cloud-bom-release-note-generation.yaml index f0cb2d1cbbbc..51f7f277f97b 100644 --- a/.github/workflows/java-cloud-bom-release-note-generation.yaml +++ b/.github/workflows/java-cloud-bom-release-note-generation.yaml @@ -35,7 +35,7 @@ jobs: cache: maven - run: java -version - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install modules locally run: mvn install -B -ntp -Pquick-build -DskipTests=true -T 1C - name: Pick Libraries BOM version diff --git a/.github/workflows/java-spanner-jdbc-quickperf.yaml b/.github/workflows/java-spanner-jdbc-quickperf.yaml index 1772d0e37cbf..666da5ecd53c 100644 --- a/.github/workflows/java-spanner-jdbc-quickperf.yaml +++ b/.github/workflows/java-spanner-jdbc-quickperf.yaml @@ -50,7 +50,7 @@ jobs: java-version: 17 cache: maven - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Run tests run: mvn test working-directory: java-spanner-jdbc/samples/quickperf diff --git a/.github/workflows/java-spanner-jdbc-sample-tests.yml b/.github/workflows/java-spanner-jdbc-sample-tests.yml index 50f5e52c3622..d71db1da766d 100644 --- a/.github/workflows/java-spanner-jdbc-sample-tests.yml +++ b/.github/workflows/java-spanner-jdbc-sample-tests.yml @@ -50,7 +50,7 @@ jobs: java-version: 8 cache: maven - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Run sample tests run: mvn --quiet --batch-mode test working-directory: java-spanner-jdbc/samples/snippets diff --git a/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml b/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml index b1b6d9ce56be..0fc27d18ee32 100644 --- a/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml +++ b/.github/workflows/java-spanner-jdbc-spring-data-jdbc-sample.yaml @@ -50,7 +50,7 @@ jobs: java-version: 17 cache: maven - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Run tests on GoogleSQL run: mvn test working-directory: java-spanner-jdbc/samples/spring-data-jdbc/googlesql diff --git a/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml b/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml index 6fcb2a68f1ee..ab6c6a66db85 100644 --- a/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml +++ b/.github/workflows/java-spanner-jdbc-spring-data-mybatis-sample.yaml @@ -50,7 +50,7 @@ jobs: java-version: 17 cache: maven - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Run GoogleSQL sample tests run: mvn test working-directory: java-spanner-jdbc/samples/spring-data-mybatis/googlesql diff --git a/.github/workflows/sdk-platform-java-analyze_dependency.yaml b/.github/workflows/sdk-platform-java-analyze_dependency.yaml index 173fc30a7dc9..95bfd20cf775 100644 --- a/.github/workflows/sdk-platform-java-analyze_dependency.yaml +++ b/.github/workflows/sdk-platform-java-analyze_dependency.yaml @@ -55,7 +55,7 @@ jobs: with: maven-version: 3.8.2 - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install dependency analyzer shell: bash run: | diff --git a/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml b/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml index e6b770ca01e7..c6631fc64a16 100644 --- a/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml +++ b/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml @@ -35,7 +35,7 @@ jobs: distribution: temurin cache: maven - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - id: resolve-versions name: Resolve Protobuf versions env: diff --git a/.github/workflows/sdk-platform-java-shared_dependencies.yaml b/.github/workflows/sdk-platform-java-shared_dependencies.yaml index 961d86f886dd..d955f1712e09 100644 --- a/.github/workflows/sdk-platform-java-shared_dependencies.yaml +++ b/.github/workflows/sdk-platform-java-shared_dependencies.yaml @@ -44,7 +44,7 @@ jobs: cache: maven - run: java -version - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install maven modules run: | mvn install -B -ntp -DskipTests -Pquick-build diff --git a/.github/workflows/unmanaged_dependency_check.yaml b/.github/workflows/unmanaged_dependency_check.yaml index 4998f2957974..d647d4dca070 100644 --- a/.github/workflows/unmanaged_dependency_check.yaml +++ b/.github/workflows/unmanaged_dependency_check.yaml @@ -39,7 +39,7 @@ jobs: java-version: 11 cache: maven - name: Use GCP Maven Mirror - run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2" + run: mkdir -p "${HOME}/.m2" && cp settings.xml "${HOME}/.m2/settings.xml" - name: Install all modules shell: bash run: | diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 92e714cb451e..5632bfe49329 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -22,10 +22,7 @@ cd ${scriptDir}/.. # include common functions source ${scriptDir}/common.sh - -# Use GCP Maven Mirror -mkdir -p ${HOME}/.m2 -cp settings.xml ${HOME}/.m2 +setup_maven_mirror setup_application_credentials diff --git a/.kokoro/client-library-check-doclet.sh b/.kokoro/client-library-check-doclet.sh index a8cb1fb3b678..812a26548953 100755 --- a/.kokoro/client-library-check-doclet.sh +++ b/.kokoro/client-library-check-doclet.sh @@ -75,9 +75,9 @@ scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) ## cd to the parent directory, i.e. the root of the git repo cd ${scriptDir}/.. -# Use GCP Maven Mirror from repository root -mkdir -p "${HOME}/.m2" -cp settings.xml "${HOME}/.m2" +# include common functions +source ${scriptDir}/common.sh +setup_maven_mirror # Make artifacts available for 'mvn validate' at the bottom pushd java-shared-config diff --git a/.kokoro/client-library-check.sh b/.kokoro/client-library-check.sh index e84f284da92e..52d0d19d9b80 100755 --- a/.kokoro/client-library-check.sh +++ b/.kokoro/client-library-check.sh @@ -86,9 +86,9 @@ scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) ## cd to the parent directory, i.e. the root of the git repo cd ${scriptDir}/.. -# Use GCP Maven Mirror from repository root -mkdir -p "${HOME}/.m2" -cp settings.xml "${HOME}/.m2" +# include common functions +source ${scriptDir}/common.sh +setup_maven_mirror # Make artifacts available for 'mvn validate' at the bottom pushd java-shared-config diff --git a/.kokoro/common.sh b/.kokoro/common.sh index 9a56b378131a..d942dca10449 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -564,15 +564,15 @@ function find_last_release_version { echo "${parts[1]}" } -# copies settings.xml from the root of sdk-platform-java into Maven's home -# folder +# copies settings.xml from the root of the repo into Maven's home folder function setup_maven_mirror { echo "Setup maven mirror" mkdir -p "${HOME}/.m2" - cp "${commonScriptDir}/../settings.xml" "${HOME}/.m2" + cp "${commonScriptDir}/../settings.xml" "${HOME}/.m2/settings.xml" } function install_repo_modules { + setup_maven_mirror target_projects="$1" projects_arg="" if [ -n "${target_projects}" ]; then diff --git a/.kokoro/dashboard.sh b/.kokoro/dashboard.sh index 3e8422d72a91..0b4803b4bbe4 100755 --- a/.kokoro/dashboard.sh +++ b/.kokoro/dashboard.sh @@ -18,9 +18,9 @@ set -eo pipefail scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) cd ${scriptDir}/.. -# Use GCP Maven Mirror from repository root -mkdir -p "${HOME}/.m2" -cp settings.xml "${HOME}/.m2" +# include common functions +source ${scriptDir}/common.sh +setup_maven_mirror outputFile="$scriptDir/../java-cloud-bom/dashboard/target/tmp/output.txt" diff --git a/.kokoro/presubmit/downstream-build.sh b/.kokoro/presubmit/downstream-build.sh index e96a92b0f853..c3000d6b8866 100755 --- a/.kokoro/presubmit/downstream-build.sh +++ b/.kokoro/presubmit/downstream-build.sh @@ -31,9 +31,9 @@ scriptDir=$(realpath "$(dirname "${BASH_SOURCE[0]}")") ## cd to the parent directory, i.e. the root of the git repo cd "${scriptDir}/../.." -# Use GCP Maven Mirror from repository root -mkdir -p "${HOME}/.m2" -cp settings.xml "${HOME}/.m2/settings.xml" +# include common functions +source "${scriptDir}/../common.sh" +setup_maven_mirror # Build and install the entire monorepo to local cache (including the under-test java-shared-config) mvn -B -ntp install -Dcheckstyle.skip -Dfmt.skip -DskipTests diff --git a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh index 7009db34a5ee..dde6da6c66af 100755 --- a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh +++ b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh @@ -24,7 +24,7 @@ monorepoRoot=$(realpath "${scriptDir}/../../..") # Use GCP Maven Mirror from monorepo root mkdir -p "${HOME}/.m2" -cp "${monorepoRoot}/settings.xml" "${HOME}/.m2" +cp "${monorepoRoot}/settings.xml" "${HOME}/.m2/settings.xml" # Declare a map of downstream handwritten libraries and the relevant artifacts to test. The map stores a # K/V pairing of (Key: module name, Value: comma separate list of Group ID:Artifact ID pairings). Note: The diff --git a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh index 8b6ec9f28c31..57e7fac0e2e1 100755 --- a/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh +++ b/sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh @@ -24,7 +24,7 @@ monorepoRoot=$(realpath "${scriptDir}/../../..") # Use GCP Maven Mirror from monorepo root mkdir -p "${HOME}/.m2" -cp "${monorepoRoot}/settings.xml" "${HOME}/.m2" +cp "${monorepoRoot}/settings.xml" "${HOME}/.m2/settings.xml" # MODULES_UNDER_TEST Env Var accepts a comma separated list of monorepo submodules to test. For Github CI, # this will be a single module as Github will build a matrix of modules with each being tested in parallel. diff --git a/sdk-platform-java/.kokoro/presubmit/common.sh b/sdk-platform-java/.kokoro/presubmit/common.sh index c8ce17b07391..ea8884cf6ea3 100644 --- a/sdk-platform-java/.kokoro/presubmit/common.sh +++ b/sdk-platform-java/.kokoro/presubmit/common.sh @@ -96,7 +96,7 @@ function find_last_release_version { function setup_maven_mirror { echo "Setup maven mirror" mkdir -p "${HOME}/.m2" - cp "${commonScriptDir}/../../../settings.xml" "${HOME}/.m2" + cp "${commonScriptDir}/../../../settings.xml" "${HOME}/.m2/settings.xml" } function install_repo_modules {