Add automation for ADML HTTP image creation
[anna.git] / tools / build-with-docker
index f649209..1fc7fdb 100755 (executable)
@@ -8,31 +8,7 @@ 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 #
@@ -44,9 +20,12 @@ 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}