build(docs): pin Python dependencies

Recently some of our dependencies' dependencies have come into conflict
and are now causing errors when trying to install the Python
requirements. This change introduces `requirements.in` - a list of our
own direct dependencies, and pins them to specific versions.

The existing `requirements.txt` file is now automatically generated by
the `pip-compile` tool - part of the pip-tools package - and ensures
that our dependency tree is also pinned. This is a manual process at
present, but our dependencies are updated infrequently enough that it's
not introducing any major overhead.

Change-Id: I3cd0c11a1a4eccaf0d77b538cfdb94474833b811
Signed-off-by: Chris Kay <chris.kay@arm.com>
This commit is contained in:
Chris Kay 2021-09-02 15:25:32 +01:00
parent a61940ca73
commit a539c77185
2 changed files with 77 additions and 3 deletions

4
docs/requirements.in Normal file
View File

@ -0,0 +1,4 @@
pip-tools==6.4.0
sphinx==2.0.0
sphinx-rtd-theme==0.4.3
sphinxcontrib-plantuml==0.15

View File

@ -1,3 +1,73 @@
sphinx>=2.0.0
sphinx-rtd-theme>=0.4.3
sphinxcontrib-plantuml>=0.15
#
# This file is autogenerated by pip-compile with python 3.8
# To update, run:
#
# pip-compile
#
alabaster==0.7.12
# via sphinx
babel==2.9.1
# via sphinx
certifi==2021.10.8
# via requests
charset-normalizer==2.0.7
# via requests
click==8.0.3
# via pip-tools
docutils==0.18
# via sphinx
idna==3.3
# via requests
imagesize==1.3.0
# via sphinx
jinja2==3.0.3
# via sphinx
markupsafe==2.0.1
# via jinja2
packaging==21.2
# via sphinx
pep517==0.12.0
# via pip-tools
pip-tools==6.4.0
# via -r requirements.in
pygments==2.10.0
# via sphinx
pyparsing==2.4.7
# via packaging
pytz==2021.3
# via babel
requests==2.26.0
# via sphinx
snowballstemmer==2.1.0
# via sphinx
sphinx==2.0.0
# via
# -r requirements.in
# sphinx-rtd-theme
# sphinxcontrib-plantuml
sphinx-rtd-theme==0.4.3
# via -r requirements.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==2.0.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-plantuml==0.15
# via -r requirements.in
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
tomli==1.2.2
# via pep517
urllib3==1.26.7
# via requests
wheel==0.37.0
# via pip-tools
# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools