Add pdf documentation build in tox

This patch adds a tox command -e pdf-docs for building the pdf
documentation for os-brick.

Change-Id: Ib56ef75468bbbd39fcfec869c42ba4377ecbdd2c
This commit is contained in:
Walter A. Boring IV 2019-08-19 14:46:27 -07:00
parent 1c02d525bb
commit 132a531e17
4 changed files with 100 additions and 1 deletions

View File

@ -14,3 +14,29 @@ libxslt1-dev [platform:dpkg]
libssl-dev [platform:dpkg] libssl-dev [platform:dpkg]
openssl-devel [platform:rpm !platform:suse] openssl-devel [platform:rpm !platform:suse]
libopenssl-devel [platform:suse !platform:rpm] libopenssl-devel [platform:suse !platform:rpm]
# Binary dependencies for PDF doc generation
fonts-liberation [doc platform:dpkg]
texlive-latex-base [doc platform:dpkg]
texlive-latex-extra [doc platform:dpkg]
texlive-xetex [doc platform:dpkg]
texlive-fonts-recommended [doc platform:dpkg]
xindy [doc platform:dpkg]
latexmk [doc platform:dpkg]
texlive [doc platform:rpm]
texlive-fncychap [doc platform:rpm]
texlive-titlesec [doc platform:rpm]
texlive-tabulary [doc platform:rpm]
texlive-framed [doc platform:rpm]
texlive-wrapfig [doc platform:rpm]
texlive-upquote [doc platform:rpm]
texlive-capt-of [doc platform:rpm]
texlive-needspace [doc platform:rpm]
texlive-polyglossia [doc platform:rpm]
texlive-xetex [doc platform:rpm]
texlive-xindy [doc platform:rpm]
texlive-courier [doc platform:rpm]
latexmk [doc platform:rpm]
python3-sphinxcontrib-svg2pdfconverter-common [doc platform:rpm]
librsvg2-tools [doc platform:rpm]
librsvg2-bin [doc platform:dpkg]

11
doc/requirements.txt Normal file
View File

@ -0,0 +1,11 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
openstackdocstheme>=1.20.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
sphinx!=1.6.6,!=1.6.7,>=1.6.3,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.3;python_version>='3.4' # BSD
os-api-ref>=1.4.0 # Apache-2.0
sphinxcontrib-apidoc>=0.2.0 # BSD
sphinx-feature-classification>=0.1.0 # Apache 2.0
mock>=2.0.0 # BSD

View File

@ -53,3 +53,49 @@ html_last_updated_fmt = '%Y-%m-%d %H:%M'
repository_name = 'openstack/os-brick' repository_name = 'openstack/os-brick'
bug_project = 'os-brick' bug_project = 'os-brick'
bug_tag = '' bug_tag = ''
# -- Options for LaTeX output -------------------------------------------------
# The paper size ('letter' or 'a4').
# latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
# latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
# [howto/manual]).
latex_documents = [
('index', 'os-brick.tex', u'OS Brick Documentation',
'Cinder Contributors', 'manual')
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False
# Additional stuff for the LaTeX preamble.
# latex_preamble = ''
# Documents to append as an appendix to all manuals.
# latex_appendices = []
# If false, no module index is generated.
# latex_use_modindex = True
# Disable usage of xindy https://bugzilla.redhat.com/show_bug.cgi?id=1643664
latex_use_xindy = False
latex_domain_indices = False
latex_elements = {
'makeindex': '',
'printindex': '',
'preamble': r'\setcounter{tocdepth}{3}',
}
latex_additional_files = ['os_brick.sty']

18
tox.ini
View File

@ -73,7 +73,23 @@ commands =
[testenv:docs] [testenv:docs]
basepython = python3 basepython = python3
commands = python setup.py build_sphinx deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/doc/requirements.txt
commands =
rm -fr doc/build doc/source/contributor/api/ .autogenerated
sphinx-build -W -b html -d doc/build/doctrees doc/source doc/build/html
whitelist_externals = rm
[testenv:pdf-docs]
basepython = python3
deps = {[testenv:docs]deps}
commands = {[testenv:docs]commands}
sphinx-build -W -b latex doc/source doc/build/pdf
make -C doc/build/pdf
whitelist_externals =
make
[testenv:releasenotes] [testenv:releasenotes]
basepython = python3 basepython = python3