build_all.sh: improve usage and error handling

Usage:
 - add more information about what the script does
 - support for -h / --help flags
 - tagging of error messages with `ERROR: ` prefix

Fixes: #244

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
This commit is contained in:
Marco Vedovati 2018-11-19 19:34:42 +01:00
parent 3fe90cc439
commit bc7959349c

View File

@ -18,7 +18,6 @@ source "${script_dir}/scripts/obs-pkgs.sh"
PUSH=${PUSH:-""}
LOCAL=${LOCAL:-""}
PUSH_TO_OBS=""
export BUILD_DISTROS=${BUILD_DISTROS:-xUbuntu_16.04}
# Packaging use this variable instead of use git user value
@ -29,17 +28,46 @@ export AUTHOR_EMAIL="${AUTHOR_EMAIL:-user@example.com}"
usage() {
msg="${1:-}"
exit_code=$"${2:-0}"
if [ -n "${msg}" ]; then
local logPrefix=""
[ ${exit_code} != "0" ] && logPrefix="ERROR: "
echo -e "${logPrefix}${msg}\n"
fi
cat <<EOT
${msg}
Usage:
${script_name} <kata-branch>
${script_name} [-h | --help] <kata-branch> [PROJ1 PROJ2 ... ]
Generate OBS packages sources for the kata projects, based on branch
kata-branch.
${script_name} processes all the kata projects by default; alternatively you can
specify a subset of the projects as additional arguments.
Environment variables:
PUSH When set, push the packages sources to the openSUSE build
service.
LOCAL When set, build the packages locally.
EOT
exit "${exit_code}"
}
main() {
local branch="${1:-}"
[ -n "${branch}" ] || usage "missing branch" "1"
case "${1:-}" in
"-h"|"--help")
usage "" "0"
;;
-*)
usage "Invalid option: ${1:-}" "1"
;;
"")
usage "missing branch" "1"
;;
*)
branch="${1:-}"
;;
esac
shift
local projectsList=("$@")