diff --git a/.kokoro/build.sh b/.kokoro/build.sh
index 55d518e..13100c5 100755
--- a/.kokoro/build.sh
+++ b/.kokoro/build.sh
@@ -20,17 +20,22 @@ 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
+
# Print out Java version
java -version
echo ${JOB_TYPE}
-mvn install -B -V \
- -DskipTests=true \
- -Dclirr.skip=true \
- -Denforcer.skip=true \
- -Dmaven.javadoc.skip=true \
- -Dgcloud.download.skip=true \
- -T 1C
+# attempt to install 3 times with exponential backoff (starting with 10 seconds)
+retry_with_backoff 3 10 \
+ mvn install -B -V \
+ -DskipTests=true \
+ -Dclirr.skip=true \
+ -Denforcer.skip=true \
+ -Dmaven.javadoc.skip=true \
+ -Dgcloud.download.skip=true \
+ -T 1C
# if GOOGLE_APPLICATION_CREDIENTIALS is specified as a relative path prepend Kokoro root directory onto it
if [[ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" && "${GOOGLE_APPLICATION_CREDENTIALS}" != /* ]]; then
diff --git a/.kokoro/common.sh b/.kokoro/common.sh
new file mode 100644
index 0000000..a3bbc5f
--- /dev/null
+++ b/.kokoro/common.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# set -eo pipefail
+
+function retry_with_backoff {
+ attempts_left=$1
+ sleep_seconds=$2
+ shift 2
+ command=$@
+
+ echo "${command}"
+ ${command}
+ exit_code=$?
+
+ if [[ $exit_code == 0 ]]
+ then
+ return 0
+ fi
+
+ # failure
+ if [[ ${attempts_left} > 0 ]]
+ then
+ echo "failure (${exit_code}), sleeping ${sleep_seconds}..."
+ sleep ${sleep_seconds}
+ new_attempts=$((${attempts_left} - 1))
+ new_sleep=$((${sleep_seconds} * 2))
+ retry_with_backoff ${new_attempts} ${new_sleep} ${command}
+ fi
+
+ return $exit_code
+}
diff --git a/.kokoro/dependencies.sh b/.kokoro/dependencies.sh
index 9422e47..0aade87 100755
--- a/.kokoro/dependencies.sh
+++ b/.kokoro/dependencies.sh
@@ -15,7 +15,13 @@
set -eo pipefail
-cd github/java-gcloud-maven-plugin/
+## Get the directory of the build script
+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
# Print out Java
java -version
@@ -24,8 +30,9 @@ echo $JOB_TYPE
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m"
# this should run maven enforcer
-mvn install -B -V \
- -DskipTests=true \
- -Dclirr.skip=true
+retry_with_backoff 3 10 \
+ mvn install -B -V \
+ -DskipTests=true \
+ -Dclirr.skip=true
mvn -B dependency:analyze -DfailOnWarning=true
diff --git a/.kokoro/linkage-monitor.sh b/.kokoro/linkage-monitor.sh
index 0d0fe05..759ab4e 100755
--- a/.kokoro/linkage-monitor.sh
+++ b/.kokoro/linkage-monitor.sh
@@ -17,18 +17,26 @@ set -eo pipefail
# Display commands being run.
set -x
-cd github/java-gcloud-maven-plugin/
+## Get the directory of the build script
+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
# Print out Java version
java -version
echo ${JOB_TYPE}
-mvn install -B -V \
- -DskipTests=true \
- -Dclirr.skip=true \
- -Denforcer.skip=true \
- -Dmaven.javadoc.skip=true \
- -Dgcloud.download.skip=true
+# attempt to install 3 times with exponential backoff (starting with 10 seconds)
+retry_with_backoff 3 10 \
+ mvn install -B -V \
+ -DskipTests=true \
+ -Dclirr.skip=true \
+ -Denforcer.skip=true \
+ -Dmaven.javadoc.skip=true \
+ -Dgcloud.download.skip=true
# Kokoro job cloud-opensource-java/ubuntu/linkage-monitor-gcs creates this JAR
JAR=linkage-monitor-latest-all-deps.jar
diff --git a/pom.xml b/pom.xml
index 66e2780..5626647 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,7 +93,7 @@
org.apache.commons
commons-compress
- 1.20
+ 1.19
diff --git a/renovate.json b/renovate.json
index fc64127..569de00 100644
--- a/renovate.json
+++ b/renovate.json
@@ -56,7 +56,9 @@
},
{
"packagePatterns": [
- "^com.google.cloud:libraries-bom"
+ "^com.google.cloud:google-cloud-gcloud-maven-plugin",
+ "^com.google.cloud:libraries-bom",
+ "^com.google.cloud.samples:shared-configuration"
],
"semanticCommitType": "chore",
"semanticCommitScope": "deps"
@@ -75,4 +77,4 @@
}
],
"semanticCommits": true
-}
+}
\ No newline at end of file
diff --git a/synth.metadata b/synth.metadata
index 934ccde..317d6cc 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -1,11 +1,11 @@
{
- "updateTime": "2020-03-17T19:21:30.419256Z",
+ "updateTime": "2020-03-25T23:36:05.133138Z",
"sources": [
{
- "template": {
- "name": "java_library",
- "origin": "synthtool.gcp",
- "version": "2020.2.4"
+ "git": {
+ "name": "synthtool",
+ "remote": "https://github.com/googleapis/synthtool.git",
+ "sha": "e36822bfa0acb355502dab391b8ef9c4f30208d8"
}
}
]
diff --git a/synth.py b/synth.py
index cdced86..bf75e62 100644
--- a/synth.py
+++ b/synth.py
@@ -14,10 +14,11 @@
"""This script is used to synthesize generated parts of this library."""
-import synthtool.languages.java as java
+import synthtool as s
+import synthtool.gcp as gcp
-AUTOSYNTH_MULTIPLE_COMMITS = True
-
-java.common_templates(excludes=[
+common_templates = gcp.CommonTemplates()
+templates = common_templates.java_library()
+s.copy(templates, excludes=[
'README.md',
])