Update VPP_STABLE_VER files
[csit.git] / resources / tools / doc_gen / run_doc.sh
1 #!/bin/bash
2
3 WORKING_DIR='tmp'
4 BUILD_DIR='_build'
5
6 # Clean-up when finished:
7 trap 'rm -rf ${WORKING_DIR}; exit' EXIT
8 trap 'rm -rf ${WORKING_DIR}; exit' ERR
9
10 # Remove the old build:
11 rm -rf ${BUILD_DIR} || true
12 rm -rf ${WORKING_DIR} || true
13
14 # Create working directories
15 mkdir ${BUILD_DIR}
16 mkdir --parents ${WORKING_DIR}/resources/libraries/python/
17 mkdir --parents ${WORKING_DIR}/resources/libraries/robot/
18 mkdir --parents ${WORKING_DIR}/tests/
19
20 # Copy the Sphinx source files:
21 cp -r src/* ${WORKING_DIR}/
22
23 # Copy the source files to be processed:
24 rsync -a --include '*/' --include '*.py' --exclude '*' ../../../resources/libraries/python/ ${WORKING_DIR}/resources/libraries/python/
25 cp ../../../resources/__init__.py ${WORKING_DIR}/resources/
26 cp ../../../resources/libraries/__init__.py ${WORKING_DIR}/resources/libraries/
27 rsync -a --include '*/' --include '*.robot' --exclude '*' ../../../resources/libraries/robot/ ${WORKING_DIR}/resources/libraries/robot/
28 rsync -a --include '*/' --include '*.robot' --exclude '*' ../../../tests/ ${WORKING_DIR}/tests/
29
30 # Create virtual environment:
31 virtualenv --python=$(which python3) ${WORKING_DIR}/env
32 . ${WORKING_DIR}/env/bin/activate
33
34 # Install CSIT requirements:
35 pip3 install --upgrade -r ../../../requirements.txt
36
37 export PYTHONPATH=`pwd`
38
39 # Generate rst files:
40 python3 gen_rst.py
41
42 # Remove all rst files from ./${WORKING_DIR}/env directory - we do not need them
43 find ./${WORKING_DIR}/env -type f -name '*.rst' | xargs rm -f
44
45 # Generate the documentation:
46 DATE=$(date -u '+%d-%b-%Y')
47 sphinx-build -v -c ${WORKING_DIR} -a  -b html -E -D release=$1 -D version="$1 documentation - $DATE" ${WORKING_DIR} ${BUILD_DIR}/
48
49 find . -type d -name 'env' | xargs rm -rf
50
51 echo Creating csit.doc.tar.gz ...
52 tar -czvf ./csit.docs.tar.gz ${BUILD_DIR}