diff --git a/.github/workflows/java-cloud-bom-ci.yaml b/.github/workflows/java-cloud-bom-ci.yaml
index 3e83cf926698..5ccf37d4327d 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/settings.xml"
- 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/settings.xml"
- 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/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 d8ed304490f9..51f7f277f97b 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/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 853d136e098a..666da5ecd53c 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/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 37533f87e8b5..d71db1da766d 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/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 761f8fbcd8db..0fc27d18ee32 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/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 ce85b6b59dfa..ab6c6a66db85 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/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 12d8f926a688..95bfd20cf775 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/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 fa65b5b92603..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
@@ -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/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 d6bed662aecd..d955f1712e09 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/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 c7811ef89381..d647d4dca070 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/settings.xml"
- 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/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 3c774c62582f..812a26548953 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}/..
+# include common functions
+source ${scriptDir}/common.sh
+setup_maven_mirror
+
# 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..52d0d19d9b80 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}/..
+# include common functions
+source ${scriptDir}/common.sh
+setup_maven_mirror
+
# 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
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 0a7fb642eb53..0b4803b4bbe4 100755
--- a/.kokoro/dashboard.sh
+++ b/.kokoro/dashboard.sh
@@ -18,6 +18,10 @@ set -eo pipefail
scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}"))
cd ${scriptDir}/..
+# include common functions
+source ${scriptDir}/common.sh
+setup_maven_mirror
+
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/.kokoro/presubmit/downstream-build.sh b/.kokoro/presubmit/downstream-build.sh
index aa6781b1ffee..c3000d6b8866 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}/../.."
+# 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
@@ -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 5df3ab0b2a1a..000000000000
--- a/java-shared-config/settings.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
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..dde6da6c66af 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/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
# 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..57e7fac0e2e1 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/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.
# 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..ea8884cf6ea3 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/settings.xml"
}
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' \
diff --git a/settings.xml b/settings.xml
index 3af27a94af88..1efe90bb814f 100644
--- a/settings.xml
+++ b/settings.xml
@@ -18,7 +18,60 @@
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
+