Add support SAP JVM 8
[mbt-docker.git] / build-image.sh
CommitLineData
d2913546
JB
1#!/usr/bin/env sh
2
0ab1c3ca
JB
3shopt -s extglob
4
28df4c45
JB
5images="mbt-node14-java8-docker mbt-node16-java8-docker mbt-node18-java8-docker \
6 mbt-node14-java11-docker mbt-node16-java11-docker mbt-node18-java11-docker \
81986a8d
JB
7 mbt-node14-java17-docker mbt-node16-java17-docker mbt-node18-java17-docker \
8 mbt-node14-java19-docker mbt-node16-java19-docker mbt-node18-java19-docker"
d2913546 9
3442a8df
JB
10repositories="mbt-node14-java11-docker mbt-node16-java11-docker mbt-node18-java11-docker \
11 mbt-node14-java17-docker mbt-node16-java17-docker mbt-node18-java17-docker \
12 mbt-node14-java19-docker mbt-node16-java19-docker mbt-node18-java19-docker"
13
d2913546 14usage() {
0ab1c3ca
JB
15 echo " Build docker images.
16
17 Usage:
18 ./$(basename $0) [-b <name>]
19 ./$(basename $0) [-p <name>]
20 ./$(basename $0) [-c]
21 ./$(basename $0) [-h]
22
23 Options:
24 -h Show this help.
25 -b <${images//+([[:space:]])/|}|all> Build docker images.
26 -p <${repositories//+([[:space:]])/|}|all> Push docker images.
27 -c Clean docker images." 1>&2; exit 1;
d2913546
JB
28}
29
3442a8df 30build_all() {
d2913546
JB
31 for image in ${images}; do
32 make NAME=${image}
33 done
34}
35
3442a8df
JB
36push_all() {
37 for repository in ${repositories}; do
38 make docker-push-registry NAME=${repository}
39 done
40}
41
d2913546 42[ $# -eq 0 ] && usage
3442a8df 43while getopts ":b:p:ch" option; do
d2913546 44 case "${option}" in
3442a8df 45 b)
d2913546 46 name=${OPTARG}
535de2bb 47 if [ ${name} = "all" ]; then
3442a8df 48 build_all
535de2bb 49 elif [ -z "${images##*$name*}" ]; then
d2913546
JB
50 make NAME=${name}
51 else
3442a8df 52 echo "Error: Unknown image name as option argument '${OPTARG}'" >&2;
d2913546 53 usage
d2913546
JB
54 fi
55 ;;
3442a8df
JB
56 p)
57 repository=${OPTARG}
535de2bb 58 if [ ${repository} = "all" ]; then
3442a8df 59 push_all
535de2bb 60 elif [ -z "${repositories##*$repository*}" ]; then
3442a8df
JB
61 make docker-push-registry NAME=${repository}
62 else
63 echo "Error: Unknown repository name as option argument '${OPTARG}'" >&2;
64 usage
65 fi
66 ;;
67 c)
68 make dist-clean
76f7abe4 69 ;;
30a42bd5 70 :)
3442a8df
JB
71 echo "Error: Missing option argument for '-${OPTARG}'" >&2;
72 usage
73 ;;
74 \?)
75 # Invalid option
76 echo "Error: Unknown or invalid option for '-${OPTARG}'" >&2;
30a42bd5 77 usage
76f7abe4 78 ;;
d2913546
JB
79 *|h)
80 usage
81 ;;
82 esac
83done