#!/usr/bin/env bash set -e DOCKER_BUILDKIT=1 if [[ $DEBUG != "" ]]; then set -x echo "command args: $*" fi if [[ $1 == "" ]]; then echo "Usage: $0 image [flavor]" exit 1 fi main() { DOCKER_BUILD_ARGS=${DOCKER_BUILD_ARGS:-} GIT_ROOT_TMP=$(git rev-parse --show-toplevel) GIT_ROOT=${GIT_ROOT:-"$GIT_ROOT_TMP"} DOCKER_BUILDKIT=${DOCKER_BUILDKIT:-"1"} BUILD_DIR="docker/${1}" CUSTOM_DOCKERFILE=${2:-""} DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-"dock.mau.dev/andreijiroh-dev/docker-images/${1}"} if [[ ! -d "${GIT_ROOT}/${BUILD_DIR}" ]]; then echo "error: image source directory '${GIT_ROOT}/${BUILD_DIR}' does not exist here" return 1 fi if [[ ${CUSTOM_DOCKERFILE} != "" ]]; then DOCKERFILE="${GIT_ROOT}/${BUILD_DIR}/${CUSTOM_DOCKERFILE}.Dockerfile" else DOCKERFILE="${GIT_ROOT}/${BUILD_DIR}/Dockerfile" fi docker build -f "${DOCKERFILE}" \ -t "${DOCKER_IMAGE_NAME}:localdev" \ --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 \ ${DOCKER_BUILD_ARGS} \ "${GIT_ROOT}/${BUILD_DIR}" } main "$@"