From 99889aa3ed5ae1d3d642c44bab460cef51208fff Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.anjos@idiap.ch>
Date: Fri, 23 Sep 2016 11:07:23 +0200
Subject: [PATCH] Move variable checking to a central place

---
 gitlab/after_build.sh  |  1 -
 gitlab/after_deploy.sh |  1 -
 gitlab/after_test.sh   |  1 -
 gitlab/before_build.sh | 13 +++---------
 gitlab/before_test.sh  |  8 -------
 gitlab/build.sh        |  8 -------
 gitlab/deploy.sh       |  9 --------
 gitlab/docs.sh         |  3 ---
 gitlab/functions.sh    | 47 +++++++++++++++++++++++++++++++++++-------
 gitlab/test.sh         |  8 -------
 10 files changed, 42 insertions(+), 57 deletions(-)

diff --git a/gitlab/after_build.sh b/gitlab/after_build.sh
index fd14ce9..65b76f0 100755
--- a/gitlab/after_build.sh
+++ b/gitlab/after_build.sh
@@ -3,6 +3,5 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env CONDA_PREFIX
 run_cmd rm -rf ${CONDA_PREFIX}
 run_cmd rm -rf install.sh
diff --git a/gitlab/after_deploy.sh b/gitlab/after_deploy.sh
index ac195c7..0132dd7 100755
--- a/gitlab/after_deploy.sh
+++ b/gitlab/after_deploy.sh
@@ -4,5 +4,4 @@
 source $(dirname ${0})/functions.sh
 
 run_cmd rm -rf ~/.pypirc
-check_env CONDA_PREFIX
 run_cmd rm -rf ${CONDA_PREFIX}
diff --git a/gitlab/after_test.sh b/gitlab/after_test.sh
index 743024b..7dbf80e 100755
--- a/gitlab/after_test.sh
+++ b/gitlab/after_test.sh
@@ -3,5 +3,4 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env CONDA_PREFIX
 run_cmd rm -rf ${CONDA_PREFIX}
diff --git a/gitlab/before_build.sh b/gitlab/before_build.sh
index e5f75a6..f472afc 100755
--- a/gitlab/before_build.sh
+++ b/gitlab/before_build.sh
@@ -3,22 +3,15 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env DOCSERVER
-check_env CONDA_FOLDER
-check_env PYTHON_VER
-check_env CONDA_PREFIX
-check_env ARCH
-check_env PREFIX
-check_env CI_PROJECT_NAME
-
 WHEELS_REPOSITORY="${DOCSERVER}/software/bob/wheels/gitlab/"
 WHEELS_SERVER=`echo ${DOCSERVER} | sed 's;https\?://;;'`
+check_env WHEELS_REPOSITORY
+check_env WHEELS_SERVER
 
 # Clones the conda dev environment to use
 if [ ! -d ${PREFIX} ]; then
   log_info "Downloading environment list into file \`env.txt'..."
-  pyver=$(echo ${PYTHON_VER} | tr -d '.')
-  run_cmd curl --silent --output env.txt https://gitlab.idiap.ch/bob/bob.admin/raw/master/install/${ARCH}/devel-py${pyver}.txt
+  run_cmd curl --silent --output env.txt https://gitlab.idiap.ch/bob/bob.admin/raw/master/install/${ARCH}/devel-${PYVER}.txt
   log_info "Bootstrapping conda installation at ${PREFIX}..."
   run_cmd ${CONDA_FOLDER}/bin/conda clean --lock
   run_cmd ${CONDA_FOLDER}/bin/conda create --prefix ${PREFIX} --file env.txt --yes
diff --git a/gitlab/before_test.sh b/gitlab/before_test.sh
index 4d56e5d..e348f8d 100755
--- a/gitlab/before_test.sh
+++ b/gitlab/before_test.sh
@@ -3,14 +3,6 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env DOCSERVER
-check_env CONDA_PREFIX
-check_env CI_PROJECT_NAME
-check_env CI_PROJECT_DIR
-
-BOB_DOCUMENTATION_SERVER="${DOCSERVER}/software/bob/docs/latest/bob/%s/master/"
-PREFIX=${CI_PROJECT_DIR}/${CONDA_PREFIX}
-
 run_cmd $(dirname ${0})/before_build.sh
 
 # Source the newly created conda environment
diff --git a/gitlab/build.sh b/gitlab/build.sh
index 68c6251..a31680a 100755
--- a/gitlab/build.sh
+++ b/gitlab/build.sh
@@ -3,14 +3,6 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env DOCSERVER
-check_env CONDA_FOLDER
-check_env PYTHON_VER
-
-BOB_DOCUMENTATION_SERVER="${DOCSERVER}/software/bob/docs/latest/bob/%s/master/"
-pyver=$(echo ${PYTHON_VER} | tr -d '.')
-BOB_PREFIX_PATH=${CONDA_FOLDER}/envs/bob-devel-py${pyver}
-
 run_cmd ./bin/buildout
 
 if [ -x ./bin/bob_dbmanage.py ]; then
diff --git a/gitlab/deploy.sh b/gitlab/deploy.sh
index 3703b66..d3c7572 100755
--- a/gitlab/deploy.sh
+++ b/gitlab/deploy.sh
@@ -3,15 +3,6 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env PYPIUSER
-check_env CI_BUILD_TAG
-
-if [ -z "${PYPISERVER}" ]; then
-  PYPISERVER="https://pypi.python.org"
-fi
-
-TESTSERVER=https://testpypi.python.org
-
 dot_pypirc
 
 setup check sdist --formats zip upload --repository staging
diff --git a/gitlab/docs.sh b/gitlab/docs.sh
index c70203c..d2a62c3 100755
--- a/gitlab/docs.sh
+++ b/gitlab/docs.sh
@@ -12,9 +12,6 @@ echo "build=${CI_BUILD_ID}" >> ${info}
 echo "commit=${CI_BUILD_REF}" >> ${info}
 echo "runner=${CI_RUNNER_DESCRIPTION}" >> ${info}
 
-check_env CI_PROJECT_NAME
-check_env CI_BUILD_REF
-
 file=${CI_PROJECT_NAME}-${CI_BUILD_REF}.tar.bz2
 run_cmd tar cfj ${file} sphinx
 
diff --git a/gitlab/functions.sh b/gitlab/functions.sh
index 626f886..9f3c377 100644
--- a/gitlab/functions.sh
+++ b/gitlab/functions.sh
@@ -63,7 +63,6 @@ run_cmd() {
 
 # Runs setup.py
 setup() {
-  check_env PREFIX
   run_cmd ${PREFIX}/bin/python setup.py ${@}
 }
 
@@ -71,8 +70,6 @@ setup() {
 # Prepares ~/.pypirc
 dot_pypirc() {
   check_env PYPISERVER
-  check_env PYPIUSER
-  check_pass PYPIPASS
   log_info "Creating ~/.pypirc..."
   cat <<EOT >> ~/.pypirc
 [distutils]
@@ -97,7 +94,7 @@ EOT
 # Uploads a file to our intranet location via curl
 doc_upload() {
   check_env DOCSERVER
-  check_env DOCUSER
+  check_pass DOCUSER
   check_pass DOCPASS
   log_info "${1} -> ${DOCSERVER}/${2}, via curl..."
   curl --silent --user "${DOCUSER}:${DOCPASS}" --upload-file ${1} ${DOCSERVER}/${2}
@@ -109,12 +106,21 @@ doc_upload() {
   log_info "Successfully uploaded ${1} with curl"
 }
 
-# Sets up variables
-ARCH=`arch`
-
-check_env ARCH
 check_env CONDA_FOLDER
+check_env CONDA_PREFIX
+check_env PYTHON_VER
 check_env CI_PROJECT_DIR
+check_env CI_PROJECT_PATH
+check_env CI_PROJECT_NAME
+check_env CI_BUILD_REF
+check_env CI_BUILD_REF_NAME
+check_pass PYPIUSER
+check_pass PYPIPASS
+check_pass DOCUSER
+check_pass DOCPASS
+
+# Sets up variables
+ARCH=`arch`
 
 if [ -z "${CONDA_FOLDER}" ]; then
   if [ "${ARCH}" == "linux" ]; then
@@ -128,6 +134,10 @@ if [ -z "${CONDA_PREFIX}" ]; then
   CONDA_PREFIX=env
 fi
 
+if [ -z "${DOCSERVER}" ]; then
+  DOCSERVER=https://www.idiap.ch
+fi
+
 PREFIX=${CI_PROJECT_DIR}/${CONDA_PREFIX}
 
 # Add "-coverage" support
@@ -147,3 +157,24 @@ else
   fi
   CXXFLAGS=${CFLAGS}
 fi
+
+PYVER=py$(echo ${PYTHON_VER} | tr -d '.')
+BOB_PREFIX_PATH=${CONDA_FOLDER}/envs/bob-devel-${PYVER}
+BOB_DOCUMENTATION_SERVER="${DOCSERVER}/software/bob/docs/latest/bob/%s/master/"
+
+if [ -z "${PYPISERVER}" ]; then
+  PYPISERVER="https://pypi.python.org"
+fi
+
+TESTSERVER=https://testpypi.python.org
+
+check_env ARCH
+check_env PYVER
+check_env PREFIX
+check_env CFLAGS
+check_env CXXFLAGS
+check_env DOCSERVER
+check_env PYPISERVER
+check_env TESTSERVER
+check_env BOB_PREFIX_PATH
+check_env BOB_DOCUMENTATION_SERVER
diff --git a/gitlab/test.sh b/gitlab/test.sh
index c7bab6f..463c87e 100755
--- a/gitlab/test.sh
+++ b/gitlab/test.sh
@@ -3,14 +3,6 @@
 
 source $(dirname ${0})/functions.sh
 
-check_env DOCSERVER
-check_env CONDA_PREFIX
-check_env CI_PROJECT_NAME
-check_env CI_PROJECT_DIR
-
-BOB_DOCUMENTATION_SERVER="${DOCSERVER}/software/bob/docs/latest/bob/%s/master/"
-PREFIX=${CI_PROJECT_DIR}/${CONDA_PREFIX}
-
 run_cmd cd ${PREFIX}
 
 # The tests:
-- 
GitLab