a8224a68b5
Automatically convert the glossary from DocBook XML to RST with each build and use it for building the RST guides. Add the glossary to User Guides and Networking Guide. Use glossary in User Guides in places where it was used before. This removes one TODO. Fix CORS capitalization. Partial-Bug: #1421813 Change-Id: I3fba6d54b01759f39f8e1467a7606cdbd2dd0165
144 lines
5.1 KiB
INI
144 lines
5.1 KiB
INI
[tox]
|
|
minversion = 1.6
|
|
envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklang,checklinks
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
basepython=python2.7
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
whitelist_externals =
|
|
bash
|
|
cp
|
|
mkdir
|
|
rm
|
|
rsync
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:checklinks]
|
|
commands = openstack-doc-test --check-links {posargs}
|
|
|
|
[testenv:checkniceness]
|
|
commands =
|
|
openstack-doc-test --check-niceness {posargs}
|
|
flake8
|
|
|
|
[testenv:checksyntax]
|
|
commands =
|
|
openstack-doc-test --check-syntax {posargs}
|
|
# Check that .po and .pot files are valid:
|
|
bash -c "find doc -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
|
|
|
|
[testenv:checkdeletions]
|
|
commands = openstack-doc-test --check-deletions {posargs}
|
|
|
|
[testenv:checkbuild]
|
|
commands =
|
|
# Build first the www pages so that openstack-doc-test creates a link to
|
|
# www/www-index.html.
|
|
mkdir -p publish-docs/www
|
|
python tools/www-generator.py --source-directory www/ --output-directory publish-docs/www/
|
|
cp www/www-index.html publish-docs/
|
|
rsync -a www/static/ publish-docs/www/
|
|
# Build both RST User Guides
|
|
{toxinidir}/tools/build-user-guides.sh
|
|
# Copy RST user-guides
|
|
# TODO(ajaeger): We publish to content to allow for reviewing, this needs a
|
|
# change of openstack-doc-tools to remove content here
|
|
mkdir -p publish-docs/draft/user-guide/content/
|
|
rsync -a doc/user-guides/build/html/ publish-docs/draft/user-guide/content/
|
|
# Copy RST user-guide-admincontent
|
|
mkdir -p publish-docs/draft/user-guide-admin/content/
|
|
rsync -a doc/user-guides/build-admin/html/ publish-docs/draft/user-guide-admin/content/
|
|
# Build RST networking guide
|
|
{toxinidir}/tools/glossary2rst.py doc/networking-guide/source/glossary.rst
|
|
sphinx-build -E -W doc/networking-guide/source doc/networking-guide/build/html
|
|
mkdir -p publish-docs/networking-guide/content/
|
|
rsync -a doc/networking-guide/build/html/ publish-docs/networking-guide/content/
|
|
# Build DocBook Guides, note we do not build the DocBook XML Networking Guide
|
|
openstack-doc-test --check-build --ignore-book networking-guide {posargs}
|
|
|
|
[testenv:docs]
|
|
commands =
|
|
{toxinidir}/tools/build-user-guides.sh
|
|
{toxinidir}/tools/glossary2rst.py doc/networking-guide/source/glossary.rst
|
|
sphinx-build -W doc/networking-guide/source doc/networking-guide/build/html
|
|
|
|
[testenv:network]
|
|
commands =
|
|
{toxinidir}/tools/glossary2rst.py doc/networking-guide/source/glossary.rst
|
|
sphinx-build -W doc/networking-guide/source doc/networking-guide/build/html
|
|
|
|
[testenv:publishdocs]
|
|
# Prepare all documents (except www subdir) so that they can get
|
|
# published on docs.openstack.org with just copying publish-docs/*
|
|
# over.
|
|
commands =
|
|
# Create directory, it might not be here if openstack-doc-test does
|
|
# not publish anything.
|
|
mkdir publish-docs
|
|
# We only publish changed manuals.
|
|
# Do not publish Install Guide and DocBook XML Networking Guide
|
|
openstack-doc-test --check-build --ignore-book install-guide --ignore-book networking-guide --publish
|
|
# Build both RST User Guides
|
|
{toxinidir}/tools/build-user-guides.sh
|
|
# Copy RST user-guides - as draft for now
|
|
mkdir -p publish-docs/draft/user-guide/
|
|
rsync -a doc/user-guides/build/html/ publish-docs/draft/user-guide/
|
|
# Copy RST user-guide-admin
|
|
mkdir -p publish-docs/draft/user-guide-admin/
|
|
rsync -a doc/user-guides/build-admin/html/ publish-docs/draft/user-guide-admin/
|
|
# Now publish www as well, we cannot do this from
|
|
# openstack-doc-test. Use rsync so that .htaccess gets also
|
|
# copied.
|
|
python tools/www-generator.py --source-directory www/ --output-directory publish-docs/
|
|
rsync -a www/static/ publish-docs/
|
|
|
|
[testenv:checklang]
|
|
# Generatedocbook needs xml2po which cannot be installed
|
|
# in the venv. Since it's installed in the system, let's
|
|
# use sitepackages.
|
|
sitepackages=True
|
|
whitelist_externals = doc-tools-check-languages
|
|
commands = doc-tools-check-languages doc-tools-check-languages.conf test all
|
|
|
|
[testenv:buildlang]
|
|
# Run as "tox -e buildlang -- $LANG"
|
|
# Generatedocbook needs xml2po which cannot be installed
|
|
# in the venv. Since it's installed in the system, let's
|
|
# use sitepackages.
|
|
sitepackages=True
|
|
whitelist_externals = doc-tools-check-languages
|
|
commands = doc-tools-check-languages doc-tools-check-languages.conf test {posargs}
|
|
|
|
[testenv:publishlang]
|
|
# Generatedocbook needs xml2po which cannot be installed
|
|
# in the venv. Since it's installed in the system, let's
|
|
# use sitepackages.
|
|
sitepackages=True
|
|
whitelist_externals = doc-tools-check-languages
|
|
commands = doc-tools-check-languages doc-tools-check-languages.conf publish all
|
|
|
|
[testenv:generatepot-rst]
|
|
# Generate POT files for translation, needs {posargs} like:
|
|
# tox -e generatepot-rst -- user-guides
|
|
commands = {toxinidir}/tools/generatepot-rst.sh {posargs}
|
|
|
|
[doc8]
|
|
# Settings for doc8:
|
|
# Ignore target directories
|
|
ignore-path = doc/*/target,doc/*/build
|
|
# File extensions to use
|
|
extensions = .rst,.txt
|
|
|
|
[flake8]
|
|
show-source = True
|
|
# H803 skipped on purpose per list discussion.
|
|
# E123, E125 skipped as they are invalid PEP-8.
|
|
ignore = E123,E125,H803
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,build,doc/common/samples
|