Duplicate some code from autotest_cgal to download the LATEST release, untar it and run the documentation testsuite on it. Clean up afterwards.
85 lines
2.3 KiB
Bash
Executable File
85 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o errexit
|
|
|
|
cd /home/cgal-testsuite
|
|
|
|
# Rotate log files on one month: the logfile name contains the number of
|
|
# the day
|
|
LOGFILE=$PWD/doxygen_testsuite-`date '+%d'`.log
|
|
|
|
exec > "$LOGFILE"
|
|
|
|
# Display commands as if using `set -o xtrace`, but to the stdout
|
|
trap 'echo "[$BASH_SOURCE:$LINENO] $BASH_COMMAND" >&1' DEBUG
|
|
|
|
# A helper error function that outputs both to stderr and stdout before
|
|
# aborting the script.
|
|
function error() {
|
|
echo "Error: $@"
|
|
echo "Error: $@" >&2
|
|
echo "See $LOGFILE" >&2
|
|
exit 1
|
|
}
|
|
|
|
CGAL_URL="https://cgal.geometryfactory.com/CGAL/Members/Releases"
|
|
CURL_OPTS="-k --remote-name --silent --location-trusted"
|
|
LATEST_LOCATION="${CGAL_URL}/LATEST"
|
|
CGAL_DOC_BUILD="/home/cgal-testsuite/cgal_doc_build"
|
|
|
|
if [ -r "${CGAL_DOC_BUILD}" ]; then
|
|
rm -rf "${CGAL_DOC_BUILD}"
|
|
fi
|
|
|
|
mkdir ${CGAL_DOC_BUILD}
|
|
cd ${CGAL_DOC_BUILD}
|
|
|
|
if [ -r "LATEST" ]; then
|
|
rm -rf LATEST
|
|
fi
|
|
|
|
curl ${CURL_OPTS} "${LATEST_LOCATION}"
|
|
|
|
if [ ! -f "LATEST" ]; then
|
|
error "COULD NOT DOWNLOAD LATEST!"
|
|
fi
|
|
|
|
for i in `cat LATEST`
|
|
do
|
|
CGAL_LOCATION="${CGAL_URL}/${i}";
|
|
CGAL_ZIPFILE="${i}";
|
|
done
|
|
CGAL_RELEASE_ID=`echo $CGAL_ZIPFILE | sed "s/.tar.gz//"`
|
|
|
|
curl ${CURL_OPTS} "${CGAL_LOCATION}"
|
|
tar xvzf "${CGAL_ZIPFILE}" && rm "${CGAL_ZIPFILE}"
|
|
if [ ! -d "${CGAL_DOC_BUILD}/${CGAL_RELEASE_ID}" ]; then
|
|
error "directory ${CGAL_DOC_BUILD}/${CGAL_RELEASE_ID} does not exist"
|
|
fi
|
|
cd "${CGAL_RELEASE_ID}"
|
|
|
|
PYTHONPATH=/home/cgal-testsuite/.local/lib/python2.6/site-packages
|
|
export PYTHONPATH
|
|
PATH=/home/cgal-testsuite/local/bin:$PATH
|
|
export PATH
|
|
|
|
cmake \
|
|
-DBUILD_DOC:BOOL=ON \
|
|
-DCGAL_DOC_CREATE_LOGS:bool=ON \
|
|
-DCGAL_DOC_MATHJAX_LOCATION:STRING=../../MathJax \
|
|
-DCGAL_DOC_RELEASE:BOOL=TRUE \
|
|
-DCGAL_DOC_PUBLISH_DIR=/srv/CGAL/www/Members/Manual_doxygen_test \
|
|
-DDOXYGEN_EXECUTABLE:FILEPATH=/home/cgal-testsuite/local/bin/doxygen \
|
|
-DPYTHON_EXECUTABLE:FILEPATH=/home/cgal-testsuite/local/bin/python2 \
|
|
. 2>&1 || error "exit code $? returned by CMake"
|
|
# Note that -DCGAL_DOC_RELEASE:BOOL=TRUE should be only for master-only
|
|
# internal releases, and not for integration releases.
|
|
|
|
make doc 2>&1 || error "exit code $? returned by the command 'make doc'"
|
|
make doc_and_publish_testsuite 2>&1 || error "exit code $? returned by the command 'make doc_and_publish_testsuite'"
|
|
|
|
rm -rf "${CGAL_DOC_BUILD}"
|
|
# Then gzip the log file, to save space
|
|
exec
|
|
gzip -f "$LOGFILE"
|