diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index 3e0c139c..a863c86c 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -1,6 +1,11 @@ Release notes ============= +0.31.0 +------ + +* Add ``doc-tools-build-rst`` to build RST guides. + 0.30.1 ------ diff --git a/bin/doc-tools-build-rst b/bin/doc-tools-build-rst new file mode 100755 index 00000000..10b26afc --- /dev/null +++ b/bin/doc-tools-build-rst @@ -0,0 +1,86 @@ +#!/bin/bash -e +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +DIRECTORY=$1 + +if [ -z "$DIRECTORY" ] ; then + echo "usage $0 DIRECTORY options" + echo "Options are:" + echo "--glossary: Build glossary" + echo "--tag TAG: Use given tag for building" + echo "--target TARGET: Copy files to publish-docs/$TARGET" + echo "--build BUILD: Name of build directory" + exit 1 +fi + +GLOSSARY=0 +TARGET="" +TAG="" +TAG_OPT="" +BUILD="" + +while [[ $# > 1 ]] ; do + option="$1" + case $option in + --glossary) + GLOSSARY=1 + ;; + --tag) + TAG="$2" + TAG_OPT="-t $2" + shift + ;; + --target) + TARGET="$2" + shift + ;; + --build) + BUILD="$2" + shift + ;; + esac + shift +done + + +if [ "$GLOSSARY" -eq "1" ] ; then + echo "Generating Glossary" + tools/glossary2rst.py doc/common-rst/glossary.rst +fi + +if [ -z "$BUILD" ] ; then + if [ -z "$TAG" ] ; then + BUILD_DIR="$DIRECTORY/build/html" + else + BUILD_DIR="$DIRECTORY/build-${TAG}/html" + fi +else + BUILD_DIR="$DIRECTORY/$BUILD/html" +fi + +if [ -z "$TAG" ] ; then + echo "Building $DIRECTORY" +else + echo "Building $DIRECTORY with tag $TAG" +fi +# Show sphinx-build invocation for easy reproduction +set -x +sphinx-build -E -W -b html $TAG_OPT $DIRECTORY/source $BUILD_DIR +set +x + +# Copy RST +if [ "$TARGET" != "" ] ; then + mkdir -p publish-docs/$TARGET + rsync -a $BUILD_DIR/ publish-docs/$TARGET/ +fi diff --git a/setup.cfg b/setup.cfg index 4b8f181b..d3f8df4e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -29,6 +29,7 @@ data_files = scripts = bin/doc-tools-check-languages bin/doc-tools-update-cli-reference + bin/doc-tools-build-rst [global] setup-hooks =