@@ -617,6 +617,7 @@ test "$1" || { echo "[ERROR] Please specify project to check."; exit 1; }
617617
618618stderr() { >&2 echo "$@ "; }
619619debug() { test "$DEBUG " && stderr "[DEBUG] $@ "; }
620+ info() { stderr "[INFO] $@ "; }
620621warn() { stderr "[WARNING] $@ "; }
621622
622623dir=$( cd " $( dirname " $0 " ) " && pwd)
@@ -631,10 +632,12 @@ test -f "$buildLog" && tail -n6 "$buildLog" | grep -qF '[INFO] BUILD SUCCESS' &&
631632# Check success.log for matching dependency configuration.
632633successLog="$HOME /.cache/scijava/melting-pot/$1 .success.log"
633634test -f "$successLog " || exit 0
635+ row=1
636+ mismatch1=
634637success=
635638for deps in $( cat " $successLog " )
636639do
637- debug "Checking dep config: $deps "
640+ debug "$1 : Checking dep config: $deps "
638641 mismatch=
639642 for dep in $( echo " $deps " | tr ' ,' ' \n' )
640643 do
649652 apv=${gapv#*: }
650653 a=${apv%%:* }
651654 v=${apv##*: }
652- arg= " -D$g .$a .version=$v "
653- if ! grep -Fq " $arg " " $dir /build.sh"
655+ bomV= $( grep -o " -D$g \ .$a \ .version=[^ ]* " " $dir /build.sh " | sed ' s;.*=;; ' )
656+ if [ " $bomV " != " $v " ]
654657 then
655658 # G:A property is not set to this V.
656659 # Now check if the property is even declared.
657- if grep -Fq " -D $g . $a .version=" " $dir /build.sh"
660+ if [ " $bomV " ]
658661 then
659662 # G:A version is mismatched.
660- debug "$dep [MISMATCH]"
661- mismatch=1
662- break
663+ mismatch="$mismatch \n* $g :$a :$v != $bomV "
663664 else
664- # G:A version is not managed .
665- warn "Unmanaged dependency: $dep "
665+ # G:A version is not pinned .
666+ warn "$1 : Unpinned dependency: $dep "
666667 fi
667668 fi
668669 done
669- test "$mismatch " || {
670+ if [ "$mismatch " ]
671+ then
672+ test "$row " -eq 1 && mismatch1=$mismatch ||
673+ debug "$1 : Mismatched dependencies (vs. success #$row ):$mismatch "
674+ else
670675 success=$deps
671676 break
672- }
677+ fi
678+ row=$(( row+ 1 ))
673679done
674- echo "$success "
680+ test "$success " && echo "$success " || {
681+ test "$mismatch1 " &&
682+ info "$1 : Mismatched dependencies:$mismatch1 " ||
683+ info "$1 : No prior successes"
684+ }
675685PRIOR
676686 chmod +x prior-success.sh
677687
0 commit comments