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