From abeab7d5d4b1443277d927b83dbe44cf62dfe4c2 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Thu, 14 Jan 2021 17:24:32 -0500 Subject: [PATCH 1/3] Upgrading version to the latest 1.5.4 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 12f355d206f8..25fdb6e94f51 100644 --- a/build.gradle +++ b/build.gradle @@ -334,7 +334,7 @@ if (project.hasProperty('javaLinkageArtifactIds')) { configurations { linkageCheckerJava } dependencies { - linkageCheckerJava "com.google.cloud.tools:dependencies:1.5.0" + linkageCheckerJava "com.google.cloud.tools:dependencies:1.5.4" } // We need to evaluate all the projects first so that we can find depend on all the From c7ce112afdeee3def8b221271eea9007f4e132cb Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Thu, 14 Jan 2021 17:24:48 -0500 Subject: [PATCH 2/3] Enhancing error hanlding for build failure --- sdks/java/build-tools/beam-linkage-check.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sdks/java/build-tools/beam-linkage-check.sh b/sdks/java/build-tools/beam-linkage-check.sh index 0672c6077ab5..f6405fdd4ee3 100755 --- a/sdks/java/build-tools/beam-linkage-check.sh +++ b/sdks/java/build-tools/beam-linkage-check.sh @@ -87,7 +87,7 @@ function runLinkageCheck () { MODE=$1 # "baseline" or "validate" for ARTIFACT_LIST in $ARTIFACT_LISTS; do - echo "`date`:" "Running linkage check (${MODE}) for ${ARTIFACT_LISTS}" + echo "`date`:" "Running linkage check (${MODE}) for ${ARTIFACT_LIST}" BASELINE_FILE=${OUTPUT_DIR}/baseline-${ARTIFACT_LIST}.xml if [ "$MODE" = "baseline" ]; then @@ -96,6 +96,12 @@ function runLinkageCheck () { elif [ "$MODE" = "validate" ]; then BASELINE_OPTION="-PjavaLinkageReadBaseline=${BASELINE_FILE}" echo "`date`:" "using baseline $BASELINE_FILE" + if [ ! -r "${BASELINE_FILE}" ]; then + # If baseline generation failed in previous baseline step, no need to build the project. + echo "`date`:" "Error: Baseline file not found" + ACCUMULATED_RESULT=1 + continue + fi else BASELINE_OPTION="" echo "`date`:" "Unexpected mode: ${MODE}. Not using baseline file." @@ -107,7 +113,10 @@ function runLinkageCheck () { RESULT=$? set -e set +x - if [ "$MODE" = "validate" ]; then + if [ "$MODE" = "baseline" ] && [ ! -r "${BASELINE_FILE}" ]; then + echo "`date`:" "Failed to generate the baseline file. Check the build error above." + ACCUMULATED_RESULT=1 + elif [ "$MODE" = "validate" ]; then echo "`date`:" "Done: ${RESULT}" ACCUMULATED_RESULT=$((ACCUMULATED_RESULT | RESULT)) fi From 144e0d0ea3fdaa209d1320e254a62e0c09f9b535 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 19 Jan 2021 17:59:26 +0000 Subject: [PATCH 3/3] Updated the usage in the comment --- sdks/java/build-tools/beam-linkage-check.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sdks/java/build-tools/beam-linkage-check.sh b/sdks/java/build-tools/beam-linkage-check.sh index f6405fdd4ee3..69d25dad15e6 100755 --- a/sdks/java/build-tools/beam-linkage-check.sh +++ b/sdks/java/build-tools/beam-linkage-check.sh @@ -17,11 +17,10 @@ # # This script compares linkage errors (checkJavaLinkage task in the root gradle project) between -# one branch and master branch. -# This is a temporary solution before Linkage Checker implements exclusion rules (BEAM-9206). +# one branch and another. # Usage: -# /bin/bash sdks/java/build-tools/beam-linkage-check.sh +# /bin/bash sdks/java/build-tools/beam-linkage-check.sh origin/master # # By default, this checks the Maven artifacts listed in ARTIFACTS variable below. #