#!/bin/bash # --- Settings RegistryService=cloud21.cvtt.vpn:5500 ValidImages=(md_gateway oe_gateway ac_gateway pricer coordinator) BashFunctionCode=$(realpath $(dirname ${0}))/../dckr_bld_functions.sh # --- Settings usage() { echo "Usage: $0 -I -V -L :" exit 1 } # ---------------- cmdline while getopts "I:V:L:" opt; do case ${opt} in I ) ImageName=$OPTARG ;; V ) ImageVersion=$OPTARG ;; L ) Library=$OPTARG ;; \? ) echo "Invalid option: -$OPTARG" >&2 usage ;; : ) echo "Option -$OPTARG requires an argument." >&2 usage ;; esac done # ---------------- cmdline if [ "${ImageName}" == "" ] then usage fi if [ "${ImageVersion}" == "" ] then usage fi Project= ProjectVersion= if [ "${Library}" != "" ] ; then IFS=':' read -ra parts <<< "${Library}" Project=${parts[0]} ProjectVersion=${parts[1]} fi # exit build_musvc_image() { ImageName=${1} Project=${2} ProjectVersion=${3} DockerDir=$(realpath $(dirname ${0})/${ImageName}) cd ${DockerDir} if [ "${Project}" != "" ]; then get_project_version ${Project} ${ProjectVersion} fi function cleanup { cd ${DockerDir} rm -rf cvttpy } trap cleanup RETURN build_docker_image ${ImageName} ${RegistryService} ${ImageVersion} ${Project} ${ProjectVersion} } source ${BashFunctionCode} if [ "${ImageName}" == "__ALL__" ]; then Images=(${ValidImages[@]}) else if [[ " ${ValidImages[*]} " == *" ${ImageName}"* ]]; then Images=(${ImageName}) else echo "ERROR: invalid image name \"${ImageName}\"" exit 1 fi fi for ImageName in "${Images[@]}"; do build_musvc_image ${ImageName} ${Project} ${ProjectVersion} done # echo "**** D E B U G E X I T" && exit echo "***** ${0} D O N E"