fix(bpkg-package): return non-zero on failure

pull/152/head
Joseph Werle 2 years ago
parent 2148b2e06b
commit 8d129a902f

@ -110,6 +110,7 @@ bpkg_package () {
## search up for 'bpkg.json', but only in CWD for 'package.json' ## search up for 'bpkg.json', but only in CWD for 'package.json'
local pkgs=("bpkg.json" "$cwd/package.json") local pkgs=("bpkg.json" "$cwd/package.json")
local npkgs="${#pkgs[@]}" local npkgs="${#pkgs[@]}"
local rc=1
## parse flags ## parse flags
case "$1" in case "$1" in
@ -132,7 +133,8 @@ bpkg_package () {
if [ -z "$1" ]; then if [ -z "$1" ]; then
## output all propertyies if property ## output all propertyies if property
## is ommited ## is ommited
cat < "$pkg" | "$BPKG_JSON" -b cat < "$pkg" | "$BPKG_JSON" -b || return $?
rc=0
else else
## show value for a specific property ## show value for a specific property
## in 'bpkg.json' or 'package.json' ## in 'bpkg.json' or 'package.json'
@ -146,26 +148,28 @@ bpkg_package () {
IFS=$'\n' read -r -d '' -a results <<< "$(cat < "$pkg" | "$BPKG_JSON" -b | grep -E "$(expand_grep_args $@)")" IFS=$'\n' read -r -d '' -a results <<< "$(cat < "$pkg" | "$BPKG_JSON" -b | grep -E "$(expand_grep_args $@)")"
if (( ${#results[@]} == 1 )); then if (( ${#results[@]} == 1 )); then
rc=0
if (( ${#peek[@]} > 0 )); then if (( ${#peek[@]} > 0 )); then
echo "${results[@]}" | echo -e "${results[@]}" |
awk '{ $1=""; print $0 }' | ## print value awk '{ $1=""; print $0 }' | ## print value
sed 's/^\s*//g' | ## remove leading whitespace sed 's/^\s*//g' | ## remove leading whitespace
sed 's/\s*$//g' | ## remove trailing whitespace sed 's/\s*$//g' | ## remove trailing whitespace
sed 's/^"//g' | ## remove leading quote from JSON value sed 's/^"//g' | ## remove leading quote from JSON value
sed 's/"$//g' | ## remove trailing quote from JSON value sed 's/"$//g' | ## remove trailing quote from JSON value
sed 's/^ *//;s/ *$//' sed 's/^ *//;s/ *$//' || return $?
else else
echo "${results[@]}" echo -e "${results[@]}"
fi fi
else elif (( ${#results[@]} > 0 )); then
rc=0
for (( j = 0; j < ${#results[@]}; j++ )); do for (( j = 0; j < ${#results[@]}; j++ )); do
echo "${results[j]}" echo -e "${results[j]}"
done done
fi fi
shift shift
fi fi
return 0 return $rc
fi fi
done done

Loading…
Cancel
Save