Improve build script options error reporting
[mbt-docker.git] / build-image.sh
CommitLineData
d2913546
JB
1#!/usr/bin/env sh
2
3images="mbt-node14-java11-docker mbt-node16-java11-docker mbt-node14-java17-docker mbt-node16-java17-docker"
4
5usage() {
6 echo "Usage: $0 [-n <${images// /|}|all>" 1>&2; exit 1;
7}
8
9all() {
10 for image in ${images}; do
11 make NAME=${image}
12 done
13}
14
15[ $# -eq 0 ] && usage
16while getopts "n:h" option; do
17 case "${option}" in
18 n)
19 name=${OPTARG}
20 if [[ ${name} == "all" ]]; then
21 all
22 elif [[ -z "${images##*$name*}" ]]; then
23 make NAME=${name}
24 else
30a42bd5 25 echo "Error: Unknown image name for option argument -${OPTARG}" >&2;
d2913546
JB
26 usage
27 exit 1
28 fi
29 ;;
30a42bd5
JB
30 \?)
31 # Invalid option
32 echo "Error: Unknown or invalid option argument for -${OPTARG}" >&2;
33 usage
34 exit 1;;
35 :)
36 echo "Error: Missing option argument for -${OPTARG}" >&2;
37 usage
38 exit 1;;
d2913546
JB
39 *|h)
40 usage
41 ;;
42 esac
43done