Skip to content

Commit

Permalink
chore: Update to use Protobuf 4.27.4
Browse files Browse the repository at this point in the history
  • Loading branch information
lqiu96 committed Aug 29, 2024
1 parent e488964 commit 4965744
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions .kokoro/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,81 @@ source ${scriptDir}/common.sh
java -version
echo ${JOB_TYPE}

# Store the current Java version since the version may change when installing sdk-platform-java
current_java_home=$JAVA_HOME

# testing-infra-docker has Java 11 installed in java8 docker container. Use this as sdk-platform-java
# needs Java 11+ to run with GraalVM. For GH actions, JAVA11_HOME does not exist and would skip this.
if [ ! -z "${JAVA11_HOME}" ]; then
export JAVA_HOME="${JAVA11_HOME}"
export PATH=${JAVA_HOME}/bin:$PATH
fi

# Get the current proto runtime version used in this repo
CURRENT_PROTO_VERSION=$(mvn -ntp help:effective-pom |
sed -n "/<artifactId>protobuf-java<\/artifactId>/,/<\/dependency>/ {
/<version>/{
s/<version>\(.*\)<\/version>/\1/p
q
}
}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "The current proto version is: ${CURRENT_PROTO_VERSION}"

# Find the latest proto runtime version available
LATEST_PROTO_VERSION="4.27.4"
echo "The latest proto version is: ${LATEST_PROTO_VERSION}"

# Only reinstall shared-deps again to test for a newer proto version
if [[ "${CURRENT_PROTO_VERSION}" != "${LATEST_PROTO_VERSION}" ]]; then
pushd /tmp
git clone https://github.com/googleapis/sdk-platform-java.git
pushd sdk-platform-java
pushd gapic-generator-java-pom-parent
sed -i "/<protobuf.version>.*<\/protobuf.version>/s/\(.*<protobuf.version>\).*\(<\/protobuf.version>\)/\1${LATEST_PROTO_VERSION}\2/" pom.xml
# sdk-platform-java
popd

pushd sdk-platform-java-config
# Get current Shared-Deps version in sdk-platform-java
SHARED_DEPS_VERSION=$(mvn -ntp help:effective-pom |
sed -n "/<artifactId>sdk-platform-java-config<\/artifactId>/,/<\/dependency>/ {
/<version>/{
s/<version>\(.*\)<\/version>/\1/p
q
}
}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo "Shared-Deps Version: ${SHARED_DEPS_VERSION}"
# sdk-platform-java
popd

mvn clean install -q -ntp \
-DskipTests=true \
-Dclirr.skip=true \
-Denforcer.skip=true \
-T 1C
# /tmp
popd

# Back to the original directory of the repo
popd
# Find all the poms with a reference to shared-deps and update to the new local version
poms=($(find . -name pom.xml))
for pom in "${poms[@]}"; do
if grep -q "sdk-platform-java-config" "${pom}"; then
echo "Updating the pom: ${pom} to use shared-deps version: ${SHARED_DEPS_VERSION}"
sed -i "/<artifactId>sdk-platform-java-config<\/artifactId>/,/<\/parent>/ s/<version>.*<\/version>/<version>$SHARED_DEPS_VERSION<\/version>/" "${pom}"
# xmlstarlet ed --inplace -N x="http://maven.apache.org/POM/4.0.0" \
# -u "//x:project/x:parent[x:artifactId='sdk-platform-java-config']/x:version" \
# -v "${SHARED_DEPS_VERSION}" \
# "${pom}"
fi
done
fi

# Reset back to the original Java version if changed
export JAVA_HOME="${current_java_home}"
export PATH=${JAVA_HOME}/bin:$PATH

# attempt to install 3 times with exponential backoff (starting with 10 seconds)
retry_with_backoff 3 10 \
mvn install -B -V -U \
Expand Down

0 comments on commit 4965744

Please sign in to comment.