diff --git a/build_all.sh b/build_all.sh old mode 100644 new mode 100755 index b4be6dae405202e59fdf27426cb593a4477510f1..238b758664dd9da334ced6f56c0f6726c70586bc --- a/build_all.sh +++ b/build_all.sh @@ -19,19 +19,30 @@ set -o nounset # Treat unset variables as an error -BUILD=./build -if [ -e ${BUILD} ]; -then - echo BUILD-dir ${BUILD} already exist, Aborting... -else - TEMP_FILE=$(mktemp) - COMBINED_FILE=${BUILD}/SLUB_mediaconch_policy_all.xml - mkdir $BUILD +RED="\\e[31m" +WHITE="\\e[0m" +ERROR="${RED}[ERROR]\t${WHITE}" +INFO="[INFO]\t" + +BUILD="./build" +REQUIREMENTS="mktemp xsltproc" # list external required binaries here (space separated) + +for REQUIREMENT in ${REQUIREMENTS}; do + command -v "${REQUIREMENT}" >/dev/null 2>&1 || { echo >&2 "${ERROR}${REQUIREMENT} required but not installed. Aborting."; exit 1; } +done + +if [ -d ${BUILD} ]; then + echo "${INFO}BUILD-dir '${BUILD}' already exists. It will be removed and recreated for a fresh build." + rm -rf "${BUILD}" || { echo >&2 "${ERROR}Could not remove pre-existing build directory at '${BUILD}'. Aborting."; exit 1; } +fi + + TEMP_FILE="$(mktemp)" + COMBINED_FILE="${BUILD}/SLUB_mediaconch_policy_all.xml" + mkdir -p "${BUILD}" || { echo >&2 "${ERROR}Could not create build directory at '${BUILD}'. Aborting."; exit 1; } echo '<?xml version="1.0" encoding="UTF-8"?>' > "${TEMP_FILE}" echo '<policy />' >> "${TEMP_FILE}" - xsltproc SLUB_mediaconch_policy_all.xsl "${TEMP_FILE}" > "${COMBINED_FILE}" + xsltproc "SLUB_mediaconch_policy_all.xsl" "${TEMP_FILE}" > "${COMBINED_FILE}" rm -f "${TEMP_FILE}" ls -lh "${COMBINED_FILE}" - echo "finished." -fi + echo "${INFO}finished."