api-site/tox.ini

169 lines
5.5 KiB
INI

[tox]
minversion = 1.6
envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklinks
skipsdist = True
[testenv]
basepython = python2.7
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/test-requirements.txt
whitelist_externals =
bash
mkdir
mv
rsync
[testenv:venv]
commands = {posargs}
[testenv:checklinks]
commands = openstack-doc-test --check-links {posargs}
[testenv:checkniceness]
commands =
openstack-doc-test --check-niceness {posargs}
doc8 firstapp
doc8 api-quick-start
[testenv:checksyntax]
commands =
# WADLs using entity files are not properly handled by
# openstack-doc-test, we therefore have to check all files that
# are in the tree for any syntax issues.
openstack-doc-test --check-syntax --force {posargs}
# Check that .po and .pot files are valid:
bash -c "find api* -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 and copy RST Guides
{toxinidir}/tools/build-all-rst.sh
# Build website index
{toxinidir}/tools/build-index.sh build
# Build DocBook Guides
openstack-doc-test --check-build {posargs}
[testenv:publishdocs]
# Prepare documents (without www) so that they can get published on
# docs.openstack.org with just copying publish-docs/* over.
commands = true
[testenv:publishdocs-api]
# Prepare documents (without www) so that they can get published on
# developer.openstack.org with just copying publish-docs/api-ref over.
commands =
openstack-doc-test --check-build --publish --only-book api-ref --only-book api-ref-guides
# We need to move api-ref-guides to the proper place:
mv publish-docs/api-ref-guides publish-docs/api-ref/
# Build and copy RST Guides
{toxinidir}/tools/build-firstapp-rst.sh
# Build and copy API Quick Start
{toxinidir}/tools/build-api-quick-start.sh
# Build website index
{toxinidir}/tools/build-index.sh publish
[testenv:checklang]
# openstack-generate-docbook 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"
# openstack-generate-docbook 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]
# openstack-generate-docbook needs xml2po which cannot be installed
# in the venv. Since it's installed in the system, let's
# use sitepackages.
# NOTE(jaegerandi): Remove this as soon as job has been removed.
sitepackages=True
# Do nothing for now
commands = true
[testenv:publishlang-api]
# openstack-generate-docbook needs xml2po which cannot be installed
# in the venv. Since it's installed in the system, let's
# use sitepackages.
# Publish translated documents to developer.openstack.org with just
# copying publish-docs/api-ref over.
sitepackages=True
whitelist_externals =
doc-tools-check-languages
mkdir
mv
rm
commands =
# Cleanup first - important when this environment runs locally
# multiple times.
rm -rf publish-docs
doc-tools-check-languages doc-tools-check-languages.conf publish all
# Move directories to proper place, we publish translated
# quick-start guides at
# developer.openstack.org/LANG/api-guide/quick-start or
# developer.openstack.org/draft/LANG/api-guide/quick-start.
mkdir -p publish-docs/api-ref
mkdir -p publish-docs/api-ref/de/api-guide
mkdir -p publish-docs/api-ref/ja/api-guide
mkdir -p publish-docs/api-ref/ko_KR/api-guide
mv publish-docs/de/api-quick-start/ publish-docs/api-ref/de/api-guide/quick-start
mv publish-docs/ja/api-quick-start/ publish-docs/api-ref/ja/api-guide/quick-start
mv publish-docs/ko_KR/api-quick-start/ publish-docs/api-ref/ko_KR/api-guide/quick-start
[testenv:generatepot-rst]
# Generate POT files for translation, needs {posargs} like:
# tox -e generatepot-rst -- firstapp
commands = {toxinidir}/tools/generatepot-rst.sh api-site 0 {posargs}
[testenv:docs]
commands =
{toxinidir}/tools/build-all-rst.sh
[testenv:firstapp-libcloud]
commands = sphinx-build -E -W -t libcloud firstapp/source firstapp/build-libcloud/html
[testenv:firstapp-jclouds]
commands = sphinx-build -E -W -t jclouds firstapp/source firstapp/build-jclouds/html
[testenv:firstapp-fog]
commands = sphinx-build -E -W -t fog firstapp/source firstapp/build-fog/html
[testenv:firstapp-dotnet]
commands = sphinx-build -E -W -t dotnet firstapp/source firstapp/build-dotnet/html
[testenv:firstapp-pkgcloud]
commands = sphinx-build -E -W -t pkgcloud firstapp/source firstapp/build-pkgcloud/html
[testenv:firstapp-openstacksdk]
commands = sphinx-build -E -W -t openstacksdk firstapp/source firstapp/build-openstacksdk/html
[testenv:firstapp-todos]
commands = sphinx-build -E -W -t libcloud firstapp/source firstapp/build/html
[testenv:firstapp-shade]
commands = sphinx-build -E -W -t shade firstapp/source firstapp/build-shade/html
[testenv:api-quick-start]
commands =
{toxinidir}/tools/build-api-quick-start.sh
[doc8]
# Settings for doc8:
# Ignore target directories
ignore-path = firstapp/build*,common-rst/
# File extensions to use
extensions = .rst,.txt
# Ignore lines longer than 79 chars
ignore = D001