fix verify-vendor if go.mod does not contain replace rules
Before this patch, if the go.mod did not contain a replace rule, jq would fail
(Cannot iterate over null), and Bash would produce an error when trying to add
an empty `$key` to `map_requires`:
make verify-vendor
+ verify-vendor
jq: error (at <stdin>:581): Cannot iterate over null (null)
/go/src/github.com/containerd/containerd//script/verify-go-modules.sh: line 44: map_replaces_1[$key]: bad array subscript
make: *** [Makefile:435: verify-vendor] Error 1
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -41,8 +41,8 @@ do
|
||||
done<<<$(go mod edit -json | jq -r '.Require[] | .Path + " # " + .Version')
|
||||
while IFS='#' read -r key value
|
||||
do
|
||||
map_replaces_1[$key]="$value"
|
||||
done<<<$(go mod edit -json | jq -r '.Replace[] | .Old.Path + " # " + .New.Path + " : " + .New.Version')
|
||||
[ "$key" = "" ] || map_replaces_1[$key]="$value"
|
||||
done<<<$(go mod edit -json | jq -r 'try .Replace[] | .Old.Path + " # " + .New.Path + " : " + .New.Version')
|
||||
popd > /dev/null
|
||||
|
||||
# Load the requires and replaces section in the other go.mod file
|
||||
@@ -51,12 +51,12 @@ declare -A map_replaces_2
|
||||
pushd "${ROOT}/$1" > /dev/null
|
||||
while IFS='#' read -r key value
|
||||
do
|
||||
map_requires_2[$key]="$value"
|
||||
[ "$key" = "" ] || map_requires_2[$key]="$value"
|
||||
done<<<$(go mod edit -json | jq -r '.Require[] | .Path + " # " + .Version')
|
||||
while IFS='#' read -r key value
|
||||
do
|
||||
map_replaces_2[$key]="$value"
|
||||
done<<<$(go mod edit -json | jq -r '.Replace[] | .Old.Path + " # " + .New.Path + " : " + .New.Version')
|
||||
done<<<$(go mod edit -json | jq -r 'try .Replace[] | .Old.Path + " # " + .New.Path + " : " + .New.Version')
|
||||
popd > /dev/null
|
||||
|
||||
# signal for errors later
|
||||
|
||||
Reference in New Issue
Block a user