Matthew Oliver 14095c109f PDF Documentation Build tox target
This patch adds a `pdf-docs` tox target that will build
PDF versions of our docs. As per the Train community goal:

  https://governance.openstack.org/tc/goals/selected/train/pdf-doc-generation.html

Story: 2006122
Task: 35514
Change-Id: I7e0ee410ac603774e4b03f859ac3aa20e5afc9b8
2019-09-04 11:29:37 -07:00

121 lines
3.2 KiB
INI
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[tox]
envlist = py27,py37,pypy,pep8
minversion = 2.0
skipsdist = True
[testenv]
usedevelop = True
install_command = python -m pip install -U {opts} {packages}
list_dependencies_command = python -m pip freeze
setenv =
LANG=en_US.utf-8
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
.[keystone]
commands = sh -c '(find . -not \( -type d -name .?\* -prune \) \
\( -type d -name "__pycache__" -or -type f -name "*.py[co]" \) \
-print0) | xargs -0 rm -rf'
stestr run {posargs}
whitelist_externals = sh
passenv = SWIFT_* *_proxy
[testenv:pep8]
basepython = python3
commands =
python -m flake8 swiftclient tests
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:cover]
basepython = python3
setenv =
PYTHON=coverage run --source swiftclient --parallel-mode
commands =
stestr run
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[testenv:func]
basepython = python3
setenv =
OS_TEST_PATH=tests.functional
PYTHON=coverage run --source swiftclient --parallel-mode
whitelist_externals =
coverage
rm
commands =
stestr run --concurrency=1
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report -m
rm -f .coverage
[testenv:py2func]
basepython=python2
setenv = {[testenv:func]setenv}
whitelist_externals = {[testenv:func]whitelist_externals}
commands = {[testenv:func]commands}
[testenv:docs]
basepython = python3
usedevelop = False
deps = -r{toxinidir}/doc/requirements.txt
commands=
python setup.py build_sphinx -W
[flake8]
# it's not a bug that we aren't using all of hacking, ignore:
# H101: Use TODO(NAME)
# H301: one import per line
# H306: imports not in alphabetical order (time, os)
# H401: docstring should not start with a space
# H403: multi line docstrings should end on a new line
# H404: multi line docstring should start without a leading new line
# H405: multi line docstring summary not separated with an empty line
# W504: line break after binary operator
ignore = H101,H301,H306,H401,H403,H404,H405,W504
# H106: Dont put vim configuration in source files
# H203: Use assertIs(Not)None to check for None
enable-extensions=H106,H203
show-source = True
exclude = .venv,.tox,dist,doc,*egg
[testenv:bindep]
basepython = python3
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
usedevelop = False
deps = bindep
commands = bindep test
[testenv:releasenotes]
basepython = python3
usedevelop = False
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
.[keystone]
[testenv:pdf-docs]
basepython = python3
deps = {[testenv:docs]deps}
whitelist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf