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 +