diff --git a/.kokoro/build.sh b/.kokoro/build.sh
index 92e714cb451e..ce71c45ec14d 100755
--- a/.kokoro/build.sh
+++ b/.kokoro/build.sh
@@ -43,21 +43,25 @@ case ${JOB_TYPE} in
install_modules "${BUILD_SUBDIR}"
echo "Running in subdir: ${BUILD_SUBDIR}"
pushd "${BUILD_SUBDIR}"
- EXTRA_PROFILE_OPTS=()
else
- EXTRA_PROFILE_OPTS=("-PbulkTests")
- install_modules "sdk-platform-java"
+ # -DskipUnitTests=true is where the real time savings come from: it skips both
+ # compiling and running tests for most client-library modules. A few "core" modules
+ # (google-auth-library-java, grpc-gcp-java, sdk-platform-java) don't honor it though,
+ # so we also pass plain -DskipTests=true to stop their tests from running. We
+ # deliberately leave their test *compilation* alone, since other modules in the
+ # reactor need testlib artifacts (like gax-grpc's) that only that compile step
+ # produces.
+ EXTRA_MAVEN_OPTS="${EXTRA_MAVEN_OPTS} -DskipUnitTests=true -DskipTests=true"
fi
- echo "SUREFIRE_JVM_OPT: ${SUREFIRE_JVM_OPT}"
+ echo "EXTRA_MAVEN_OPTS: ${EXTRA_MAVEN_OPTS}"
retry_with_backoff 3 10 \
- mvn install \
+ mvn test \
-B -ntp \
-Pquick-build \
-Dorg.slf4j.simpleLogger.showDateTime=true \
-Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS \
-Dmaven.wagon.http.retryHandler.count=5 \
- --also-make \
- ${SUREFIRE_JVM_OPT} "${EXTRA_PROFILE_OPTS[@]}"
+ ${EXTRA_MAVEN_OPTS}
RETURN_CODE=$?
if [[ -n "${BUILD_SUBDIR}" ]]
@@ -316,7 +320,6 @@ case ${JOB_TYPE} in
install_modules "${BUILD_SUBDIR}"
echo "Running in subdir: ${BUILD_SUBDIR}"
pushd "${BUILD_SUBDIR}"
- EXTRA_PROFILE_OPTS=()
else
install_modules "sdk-platform-java"
fi
@@ -349,4 +352,4 @@ if [[ "${ENABLE_FLAKYBOT}" == "true" ]]; then
fi
echo "exiting with ${RETURN_CODE}"
-exit ${RETURN_CODE}
\ No newline at end of file
+exit ${RETURN_CODE}
diff --git a/.kokoro/common.sh b/.kokoro/common.sh
index a1dad45d963d..f46079609810 100644
--- a/.kokoro/common.sh
+++ b/.kokoro/common.sh
@@ -311,6 +311,14 @@ function run_integration_tests() {
parse_all_submodules "$1"
printf "Running integration tests for submodules:\n%s\n" "$all_submodules"
+ # This job needs integration tests to actually run, so plain -DskipTests=true is off the
+ # table here (it would skip those too). We only want unit tests skipped, hence two
+ # narrower flags instead: -DskipUnitTests=true for client-library modules (see
+ # google-cloud-jar-parent/pom.xml for how that's wired), and -PbulkTests for the handful
+ # of modules (google-auth-library-java, java-cloud-bom, java-shared-config,
+ # sdk-platform-java) that predate and sit outside that mechanism. We just pass both
+ # always rather than figure out per-module which one applies; Maven ignores whichever one
+ # a given module doesn't recognize.
mvn verify -Penable-integration-tests -Pquick-build --projects "$all_submodules" \
${INTEGRATION_TEST_ARGS} \
-B -ntp -fae \
diff --git a/google-cloud-jar-parent/pom.xml b/google-cloud-jar-parent/pom.xml
index e824958cf545..b5402a7b30b8 100644
--- a/google-cloud-jar-parent/pom.xml
+++ b/google-cloud-jar-parent/pom.xml
@@ -19,7 +19,30 @@
../google-cloud-pom-parent/pom.xml
- false
+
+ true
+
+ ${skipUnitTests}
true
diff --git a/java-bigquery-jdbc/pom.xml b/java-bigquery-jdbc/pom.xml
index ba78d2094996..1dde1397f5fc 100644
--- a/java-bigquery-jdbc/pom.xml
+++ b/java-bigquery-jdbc/pom.xml
@@ -32,6 +32,7 @@
github
google-cloud-bigquery-jdbc
false
+ false
@@ -412,14 +413,6 @@
-
-
- bulkTests
-
- true
-
-
-
docker
diff --git a/java-bigquery/pom.xml b/java-bigquery/pom.xml
index c96383dedfac..9de42ad51ef9 100644
--- a/java-bigquery/pom.xml
+++ b/java-bigquery/pom.xml
@@ -56,6 +56,7 @@
github
google-cloud-bigquery-parent
v2-rev20251012-2.0.0
+ false
@@ -162,12 +163,5 @@
benchmark
-
-
- bulkTests
-
- true
-
-
diff --git a/java-bigquerystorage/pom.xml b/java-bigquerystorage/pom.xml
index dabcddd765bd..88655956bb3b 100644
--- a/java-bigquerystorage/pom.xml
+++ b/java-bigquerystorage/pom.xml
@@ -56,6 +56,7 @@
3.25.4
github
google-cloud-bigquerystorage-parent
+ false
@@ -207,14 +208,4 @@
google-cloud-bigquerystorage-bom
-
-
-
- bulkTests
-
- true
-
-
-
-
diff --git a/java-bigtable/pom.xml b/java-bigtable/pom.xml
index bc0bb829a4ef..578bd470c60c 100644
--- a/java-bigtable/pom.xml
+++ b/java-bigtable/pom.xml
@@ -146,6 +146,7 @@
https://googleapis.dev/java/google-api-grpc/latest
2.48.0
-g
+ false
@@ -342,12 +343,6 @@
-
- bulkTests
-
- true
-
-
errorprone-jdk8
diff --git a/java-common-protos/pom.xml b/java-common-protos/pom.xml
index 824768000f43..269d67d8c3bf 100644
--- a/java-common-protos/pom.xml
+++ b/java-common-protos/pom.xml
@@ -43,6 +43,7 @@
UTF-8
github
google-iam-parent
+ false
diff --git a/java-datastore/pom.xml b/java-datastore/pom.xml
index 0f179079830b..6b2a30139b96 100644
--- a/java-datastore/pom.xml
+++ b/java-datastore/pom.xml
@@ -146,6 +146,7 @@
https://googleapis.dev/java/google-api-grpc/latest
2.48.0
-g
+ false
@@ -236,13 +237,6 @@
-
-
- bulkTests
-
- true
-
-
errorprone-jdk8
diff --git a/java-dns/pom.xml b/java-dns/pom.xml
index daee4d1487d2..abbb9d8637a9 100644
--- a/java-dns/pom.xml
+++ b/java-dns/pom.xml
@@ -22,6 +22,7 @@
UTF-8
github
google-cloud-dns-parent
+ false
diff --git a/java-firestore/google-cloud-firestore-admin/pom.xml b/java-firestore/google-cloud-firestore-admin/pom.xml
index 44ececc238f2..6f04310bdee8 100644
--- a/java-firestore/google-cloud-firestore-admin/pom.xml
+++ b/java-firestore/google-cloud-firestore-admin/pom.xml
@@ -15,6 +15,9 @@
google-cloud-firestore-parent
3.45.0-SNAPSHOT
+
+ true
+
com.google.api.grpc
diff --git a/java-firestore/pom.xml b/java-firestore/pom.xml
index 5d45821383a8..56e7affe0a27 100644
--- a/java-firestore/pom.xml
+++ b/java-firestore/pom.xml
@@ -144,6 +144,7 @@
github
google-cloud-firestore-parent
https://googleapis.dev/java/google-api-grpc/latest
+ false
@@ -247,11 +248,5 @@
-
- bulkTests
-
- true
-
-
diff --git a/java-iam/pom.xml b/java-iam/pom.xml
index 78b8f9f6fb05..4ae700e81a2b 100644
--- a/java-iam/pom.xml
+++ b/java-iam/pom.xml
@@ -43,6 +43,7 @@
UTF-8
github
google-iam-parent
+ false
diff --git a/java-logging-logback/pom.xml b/java-logging-logback/pom.xml
index 1e36cdf89973..1a9c9e057d26 100644
--- a/java-logging-logback/pom.xml
+++ b/java-logging-logback/pom.xml
@@ -20,6 +20,7 @@
3.25.0
1.7.36
1.10.1
+ false
@@ -170,12 +171,5 @@
!LoggingAppenderTest
-
-
- bulkTests
-
- true
-
-
diff --git a/java-logging/pom.xml b/java-logging/pom.xml
index 3fec5ba8f610..507c8f25e42d 100644
--- a/java-logging/pom.xml
+++ b/java-logging/pom.xml
@@ -55,6 +55,7 @@
UTF-8
github
google-cloud-logging-parent
+ false
@@ -105,14 +106,4 @@
google-cloud-logging-bom
-
-
-
-
- bulkTests
-
- true
-
-
-
diff --git a/java-notification/pom.xml b/java-notification/pom.xml
index 3a548181a121..d021751302c7 100644
--- a/java-notification/pom.xml
+++ b/java-notification/pom.xml
@@ -20,6 +20,7 @@
google-cloud-notification
+ false
diff --git a/java-pubsub/pom.xml b/java-pubsub/pom.xml
index b7d9e4e84bf5..87e13482d504 100644
--- a/java-pubsub/pom.xml
+++ b/java-pubsub/pom.xml
@@ -55,6 +55,7 @@
UTF-8
github
google-cloud-pubsub-parent
+ false
@@ -143,13 +144,4 @@
google-cloud-pubsub-bom
-
-
-
- bulkTests
-
- true
-
-
-
diff --git a/java-showcase/pom.xml b/java-showcase/pom.xml
index c90fb72c78fb..5cd52fb97aee 100644
--- a/java-showcase/pom.xml
+++ b/java-showcase/pom.xml
@@ -27,6 +27,7 @@
true
true
true
+ false
@@ -259,12 +260,5 @@
-
-
- bulkTests
-
- true
-
-
diff --git a/java-spanner-jdbc/pom.xml b/java-spanner-jdbc/pom.xml
index 15e481b89c61..bdb3001a028f 100644
--- a/java-spanner-jdbc/pom.xml
+++ b/java-spanner-jdbc/pom.xml
@@ -55,6 +55,7 @@
1.4.5
4.11.0
0.31.1
+ false
@@ -345,7 +346,7 @@
${project.basedir}/documentation/connection_properties.md
test
- false
+ ${maven.test.skip}
diff --git a/java-spanner/pom.xml b/java-spanner/pom.xml
index 871688a20e5b..3060f3b002b6 100644
--- a/java-spanner/pom.xml
+++ b/java-spanner/pom.xml
@@ -55,6 +55,7 @@
UTF-8
github
google-cloud-spanner-parent
+ false
@@ -158,14 +159,4 @@
-
-
-
- bulkTests
-
- true
-
-
-
-
diff --git a/java-storage-nio/pom.xml b/java-storage-nio/pom.xml
index 90ad0b962a0b..1f01bf612357 100644
--- a/java-storage-nio/pom.xml
+++ b/java-storage-nio/pom.xml
@@ -64,6 +64,7 @@
UTF-8
github
google-cloud-storage-nio-parent
+ false
diff --git a/java-storage/gapic-google-cloud-storage-v2/pom.xml b/java-storage/gapic-google-cloud-storage-v2/pom.xml
index 0c50aeeaa9e9..bef6755705bd 100644
--- a/java-storage/gapic-google-cloud-storage-v2/pom.xml
+++ b/java-storage/gapic-google-cloud-storage-v2/pom.xml
@@ -12,6 +12,9 @@
google-cloud-storage-parent
2.71.0-SNAPSHOT
+
+ true
+
io.grpc
diff --git a/java-storage/pom.xml b/java-storage/pom.xml
index 28c08b83144d..074c0156b80f 100644
--- a/java-storage/pom.xml
+++ b/java-storage/pom.xml
@@ -56,6 +56,7 @@
github
google-cloud-storage-parent
3.31.0
+ false
@@ -187,12 +188,6 @@
storage-shared-benchmarking
-
- bulkTests
-
- true
-
-