Adding a fix needed for Fuel virtual deployment
[releng.git] / utils / docs-build.sh
index 5110f9e..48037db 100755 (executable)
@@ -1,13 +1,20 @@
 #!/bin/bash -e
-
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2016 NEC and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
 export PATH=$PATH:/usr/local/bin/
 
-
 DOCS_DIR=${DOCS_DIR:-docs}
 INDEX_RST=${INDEX_RST:-index.rst}
 BUILD_DIR=${BUILD_DIR:-docs_build}
 OUTPUT_DIR=${OUTPUT_DIR:-docs_output}
 SRC_DIR=${SRC_DIR:-$BUILD_DIR/_src}
+VENV_DIR=${VENV_DIR:-$BUILD_DIR/_venv}
 RELENG_DIR=${RELENG_DIR:-releng}
 GERRIT_COMMENT=${GERRIT_COMMENT:-}
 
@@ -35,22 +42,18 @@ revision="$(git rev-parse --short HEAD)"
 rev_full="$(git rev-parse HEAD)"
 version="$(git describe --abbrev=0 2> /dev/null || echo draft) ($revision)"
 project="$(basename $(git rev-parse --show-toplevel))"
-html_notes="\n    Revision: $rev_full\n\n    Build date: |today|"
+html_notes="    Revision: $rev_full\n    Build date: $(date -u +'%Y-%m-%d')"
 default_conf='releng/docs/etc/conf.py'
 opnfv_logo='releng/docs/etc/opnfv-logo.png'
 
 function check_rst_doc() {
     _src="$1"
 
-    if ! which doc8 > /dev/null ; then
-        echo "Error: 'doc8' not found. Exec 'sudo pip install doc8' first."
-        exit 1
-    fi
     # Note: This check may fail in many jobs for building project docs, since
     #       the old sample has lines more than 120. We ignore failures on this
     #       check right now, but these have to be fixed before OPNFV B release.
     _out=$(doc8 --max-line-length 240 --ignore D000 "$_src") || {
-        _msg='Error: rst validatino (doc8) has failed, please fix the following error(s).'
+        _msg='Warning: rst validation (doc8) has failed, please fix the following error(s).'
         _errs=$(echo "$_out" | sed -n -e "/^$_src/s/^/    /p")
         echo
         echo -e "$_msg\n$_errs"
@@ -72,7 +75,7 @@ function add_html_notes() {
             echo
             sed -i "s/ _sha1_/ $git_sha1/g" "$file"
         fi
-        sed -i -e "\$a\\\n.. only:: html\n$html_notes" "$file"
+        sed -i -e "\$a\\\n..\n$html_notes" "$file"
     done
 }
 
@@ -134,6 +137,15 @@ fi
 
 prepare_src_files
 
+if ! which virtualenv > /dev/null ; then
+    echo "Error: 'virtualenv' not found. Exec 'sudo pip install virtualenv' first."
+    exit 1
+fi
+
+virtualenv "$VENV_DIR"
+source "$VENV_DIR/bin/activate"
+pip install -r "$RELENG_DIR/docs/etc/requirements.txt"
+
 find $DOCS_DIR -name $INDEX_RST -printf '%h\n' | while read dir
 do
     name=$(generate_name $dir)
@@ -218,3 +230,5 @@ do
     fi
 
 done
+
+deactivate