Commit | Line | Data |
---|---|---|
d2913546 JB |
1 | #!/usr/bin/env sh |
2 | ||
81986a8d JB |
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" | |
d2913546 | 6 | |
3442a8df JB |
7 | repositories="mbt-node14-java11-docker mbt-node16-java11-docker mbt-node18-java11-docker \ |
8 | mbt-node14-java17-docker mbt-node16-java17-docker mbt-node18-java17-docker \ | |
9 | mbt-node14-java19-docker mbt-node16-java19-docker mbt-node18-java19-docker" | |
10 | ||
d2913546 | 11 | usage() { |
3442a8df | 12 | echo "Usage: ./$(basename $0) [-b <${images// /|}|all>] [-p <${repositories// /|}|all>] [-c]" 1>&2; exit 1; |
d2913546 JB |
13 | } |
14 | ||
3442a8df | 15 | build_all() { |
d2913546 JB |
16 | for image in ${images}; do |
17 | make NAME=${image} | |
18 | done | |
19 | } | |
20 | ||
3442a8df JB |
21 | push_all() { |
22 | for repository in ${repositories}; do | |
23 | make docker-push-registry NAME=${repository} | |
24 | done | |
25 | } | |
26 | ||
d2913546 | 27 | [ $# -eq 0 ] && usage |
3442a8df | 28 | while getopts ":b:p:ch" option; do |
d2913546 | 29 | case "${option}" in |
3442a8df | 30 | b) |
d2913546 JB |
31 | name=${OPTARG} |
32 | if [[ ${name} == "all" ]]; then | |
3442a8df | 33 | build_all |
d2913546 JB |
34 | elif [[ -z "${images##*$name*}" ]]; then |
35 | make NAME=${name} | |
36 | else | |
3442a8df | 37 | echo "Error: Unknown image name as option argument '${OPTARG}'" >&2; |
d2913546 | 38 | usage |
d2913546 JB |
39 | fi |
40 | ;; | |
3442a8df JB |
41 | p) |
42 | repository=${OPTARG} | |
43 | if [[ ${repository} == "all" ]]; then | |
44 | push_all | |
45 | elif [[ -z "${repositories##*$repository*}" ]]; then | |
46 | make docker-push-registry NAME=${repository} | |
47 | else | |
48 | echo "Error: Unknown repository name as option argument '${OPTARG}'" >&2; | |
49 | usage | |
50 | fi | |
51 | ;; | |
52 | c) | |
53 | make dist-clean | |
76f7abe4 | 54 | ;; |
30a42bd5 | 55 | :) |
3442a8df JB |
56 | echo "Error: Missing option argument for '-${OPTARG}'" >&2; |
57 | usage | |
58 | ;; | |
59 | \?) | |
60 | # Invalid option | |
61 | echo "Error: Unknown or invalid option for '-${OPTARG}'" >&2; | |
30a42bd5 | 62 | usage |
76f7abe4 | 63 | ;; |
d2913546 JB |
64 | *|h) |
65 | usage | |
66 | ;; | |
67 | esac | |
68 | done |