You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/05/18 18:05:00 UTC

[jira] [Work logged] (BEAM-9958) Linkage Checker to use exclusion file as baseline

     [ https://issues.apache.org/jira/browse/BEAM-9958?focusedWorklogId=434515&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-434515 ]

ASF GitHub Bot logged work on BEAM-9958:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 18/May/20 18:04
            Start Date: 18/May/20 18:04
    Worklog Time Spent: 10m 
      Work Description: aaltay commented on a change in pull request #11674:
URL: https://github.com/apache/beam/pull/11674#discussion_r426803651



##########
File path: sdks/java/build-tools/beam-linkage-check.sh
##########
@@ -66,51 +66,61 @@ if [ ! -z "$(git diff)" ]; then
   exit 1
 fi
 
+ACCUMULATED_RESULT=0
+
 function runLinkageCheck () {
   COMMIT=$1
   BRANCH=$2
+  MODE=$3 # baseline or validate
   # An empty invocation so that the subsequent checkJavaLinkage does not
   # contain garbage
   echo "`date`:" "Installing artifacts of ${BRANCH}(${COMMIT}) to Maven local repository."
-  ./gradlew -Ppublishing -PjavaLinkageArtifactIds=beam-sdks-java-core :checkJavaLinkage > /dev/null 2>&1
+  ./gradlew -Ppublishing -PjavaLinkageArtifactIds=beam-sdks-java-core -PjavaLinkageWriteBaseline=/dev/null :checkJavaLinkage > /dev/null 2>&1
   for ARTIFACT in $ARTIFACTS; do
-    echo "`date`:" "Running linkage check for ${ARTIFACT} in ${BRANCH}"
-    # Removing time taken to have clean diff
-    ./gradlew -Ppublishing -PjavaLinkageArtifactIds=$ARTIFACT :checkJavaLinkage |grep -v 'BUILD SUCCESSFUL in' | grep -v 'dependency paths' > ${OUTPUT_DIR}/${COMMIT}-${ARTIFACT}
-    echo "`date`:" "Done: ${OUTPUT_DIR}/${COMMIT}-${ARTIFACT}"
+    echo "`date`:" "Running linkage check (${MODE}) for ${ARTIFACT} in ${BRANCH}"
+
+    BASELINE_FILE=${OUTPUT_DIR}/baseline-${ARTIFACT}.xml
+    if [ "$MODE" = "baseline" ]; then
+      BASELINE_OPTION='-PjavaLinkageWriteBaseline'
+      echo "`date`:" "to create a baseline (existing errors before change) $BASELINE_FILE"
+    elif [ "$MODE" = "validate" ]; then
+      BASELINE_OPTION='-PjavaLinkageReadBaseline'
+      echo "`date`:" "using baseline $BASELINE_FILE"
+    else
+      echo "invalid parameter for runLinkageCheck: ${MODE}"

Review comment:
       why is this invalid, it looks like the linkage checker supports running without specifying javaLinkageReadBaseline or javaLinkageWriteBaseline




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 434515)
    Remaining Estimate: 0h
            Time Spent: 10m

> Linkage Checker to use exclusion file as baseline
> -------------------------------------------------
>
>                 Key: BEAM-9958
>                 URL: https://issues.apache.org/jira/browse/BEAM-9958
>             Project: Beam
>          Issue Type: Task
>          Components: build-system
>            Reporter: Tomo Suzuki
>            Assignee: Tomo Suzuki
>            Priority: P2
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Linkage Checker to use exclusion file as baseline.
> Linkage Checker 1.4.0 has function to take exclusion file to filter out existing linkage errors. This functionality eliminates the need of running diff command in beam-linkage-check.sh.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)