# HG changeset patch # User Vincent Hatakeyama <vincent.hatakeyama@xcg-consulting.fr> # Date 1561452024 -7200 # Tue Jun 25 10:40:24 2019 +0200 # Node ID bc3421b5dccc00145e3aca81db6a48f4d6cc6b75 # Parent b76a9d43d430db62db592720cc861772bcf6ec90 📠exit with error when having errors on documentation generation diff --git a/create_documentation b/create_documentation --- a/create_documentation +++ b/create_documentation @@ -13,10 +13,13 @@ project_home=$(cd $here && cd .. && echo $PWD) project_name_from_home=$(basename $project_home) project_name=${DRONE_REPO_NAME:-project_name_from_home} +languages=(${LANGUAGES:-en}) format=html out_dir=${project_home}/_build/$format +error=0 + # color stuff autoload colors && colors for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do @@ -29,30 +32,32 @@ # determine branch name if [ -n "$DRONE_BRANCH" ]; then -branch="$DRONE_BRANCH" + branch="$DRONE_BRANCH" elif [ -e ".git" ]; then -branch="$(git rev-parse --abbrev-ref HEAD)" + branch="$(git rev-parse --abbrev-ref HEAD)" elif [ -e ".hg" ]; then -branch="$(hg id -b)" + branch="$(hg id -b)" else -echo "${RED}WARN${RESET} - Branch name not found" -branch="unknown" + echo "${RED}WARN${RESET} - Branch name not found" + branch="unknown" fi +echo "${YELLOW}INFO ${RESET} - Branch name: $branch" for doc_dir in doc docs; do if [[ -d "$doc_dir" ]] ; then pushd $doc_dir - for language in "en" ; do + for language in $languages ; do make -e SPHINXOPTS=-Dlanguage=${language} $format - # TODO read value from Makefile - builddir=_build - dest_dir=$out_dir/$project_name/$language/$branch - if [[ $? -eq 0 ]] ; then + if [[ $? -eq 0 ]] ; then + # TODO read value from Makefile + builddir=_build + dest_dir=$out_dir/$project_name/$language/$branch echo "${YELLOW}INFO ${RESET} - Documentation generation done for $doc_dir (superproject), copy to $dest_dir" mkdir -p $dest_dir cp -r $builddir/$format/. $dest_dir else echo "${RED}ERROR${RESET} - Documentation generation failed for $doc_dir (superproject)" + ((error++)) fi done popd @@ -74,30 +79,33 @@ pushd $module_path module=$(basename $module_path) has_doc="" + if [ -e ".git" ]; then + branch="$(git rev-parse --abbrev-ref HEAD)" + elif [ -e ".hg" ]; then + branch="$(hg identify --branch)" + else + echo "${RED}WARN${RESET} - Branch name not found" + branch="default" + fi for doc_dir in doc docs ; do if [[ -d $doc_dir && -e $doc_dir/Makefile ]]; then + echo "${YELLOW}INFO ${RESET} - Branch name: $branch" has_doc=True echo ${YELLOW}INFO ${RESET} - Makefile found in $dir/$module_path/$doc_dir pushd $doc_dir - if [ -e ".git" ]; then - branch="$(git rev-parse --abbrev-ref HEAD)" - elif [ -e ".hg" ]; then - branch="$(hg id -b)" - else - branch="default" - fi # TODO read value from Makefile - for language in "en" ; do + for language in $languages ; do make -e SPHINXOPTS=-Dlanguage=${language} $format - # TODO read value from Makefile - builddir=_build - dest_dir=$out_dir/$module/$language/$branch if [[ $? -eq 0 ]] ; then + # TODO read value from Makefile + builddir=_build + dest_dir=$out_dir/$module/$language/$branch echo ${YELLOW}INFO ${RESET} - Documentation generation done for $dir/$module_path/$doc_dir, copy to $dest_dir mkdir -p $dest_dir cp -r $builddir/$format/. $dest_dir else echo ${RED}ERROR${RESET} - Documentation generation failed for $dir/$module_path/$doc_dir + ((error++)) fi done popd @@ -111,3 +119,5 @@ done popd + +exit $error