Skip to content

Commit 9246a84

Browse files
committed
melting-pot: give better info about mismatches
1 parent 26cf1f3 commit 9246a84

1 file changed

Lines changed: 22 additions & 12 deletions

File tree

melting-pot.sh

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,7 @@ test "$1" || { echo "[ERROR] Please specify project to check."; exit 1; }
617617
618618
stderr() { >&2 echo "$@"; }
619619
debug() { test "$DEBUG" && stderr "[DEBUG] $@"; }
620+
info() { stderr "[INFO] $@"; }
620621
warn() { stderr "[WARNING] $@"; }
621622
622623
dir=$(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.
632633
successLog="$HOME/.cache/scijava/melting-pot/$1.success.log"
633634
test -f "$successLog" || exit 0
635+
row=1
636+
mismatch1=
634637
success=
635638
for deps in $(cat "$successLog")
636639
do
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
@@ -649,29 +652,36 @@ 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))
673679
done
674-
echo "$success"
680+
test "$success" && echo "$success" || {
681+
test "$mismatch1" &&
682+
info "$1: Mismatched dependencies:$mismatch1" ||
683+
info "$1: No prior successes"
684+
}
675685
PRIOR
676686
chmod +x prior-success.sh
677687

0 commit comments

Comments
 (0)