X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=tools%2Fbuild-with-docker;h=a7f6cfab4588ab8c895dd63989f4085d08c4eae4;hb=af9c86ffb0e28d35ad94d99c5f77e41578c972b4;hp=f649209826137f0c25bceda9eca63d379064de3c;hpb=9086b5a251f6f5c9e64060a23c5ee88c04856743;p=anna.git diff --git a/tools/build-with-docker b/tools/build-with-docker index f649209..a7f6cfa 100755 --- a/tools/build-with-docker +++ b/tools/build-with-docker @@ -8,45 +8,25 @@ REPO_DIR="$(git rev-parse --show-toplevel 2>/dev/null)" [ -z "$REPO_DIR" ] && { echo "You must execute under a valid git repository !" ; exit 1 ; } VARIANT=${1:-Release} - -############# -# FUNCTIONS # -############# - -# $1: image directory -build_image() { - local imgdir=$1 - - local imgname=$(basename ${imgdir}) - local imgtag=${TAG} - - echo "Building ${imgname}:${imgtag} ..." - cd ${imgdir} - - # Dockerfile for other contexts: - local dck_opt= - local preferred=Dockerfile.$(arch) - [ -f ${preferred} ] && { dck_opt="-f ${preferred}" ; echo "Selected '${preferred}' for current architecture." ; } - [ -z "${dck_opt}" -a ! -f Dockerfile ] && { echo "No Dockerfile for this directory. Ignoring ..." ; cd - >/dev/null ; return 1 ; } - - docker build -t ${imgname}:${imgtag} ${dck_opt} . - [ $? -ne 0 ] && { echo "An error ocurred. Aborting ..." ; cd - >/dev/null ; return 1 ; } - cd - >/dev/null -} +ENVS="-e VARIANT=${VARIANT}" ############# # EXECUTION # ############# echo -echo "Remember usage: $0 [variant: Release|Debug], Release by default" +echo "Variant: ${VARIANT}" +echo "Remember usage: $0 [variant: <[Release]|Debug]>" echo TAG=$(${REPO_DIR}/tools/version) +# Docker build functions +source ${REPO_DIR}/tools/docker.src + # Build compilation image: -build_image ${REPO_DIR}/docker-images/anna-build-nodb # this image has neither oracle nor mysql installed +build_image ${REPO_DIR}/docker-images/anna-build-nodb ${TAG} # this image has neither oracle nor mysql installed # Build source with previous compilation image: -docker run --rm -it -u $(id -u):$(id -g) -e VARIANT=${VARIANT} -v ${REPO_DIR}:/code -w /code anna-build-nodb:${TAG} +docker run --rm -it -u $(id -u):$(id -g) ${ENVS} -v ${REPO_DIR}:/code -w /code anna-build-nodb:${TAG}