Avoid tox_install.sh for constraints support

Follow https://review.openstack.org/#/c/508061 to remove
tools/tox_install.sh, we can build without it.

Create new doc/requirements.txt file with doc requirements to make them
optional. We cannot use ".[test]" with pip, it would still install
project with constraints and fail.

Change-Id: I4f1fa1fd3139a763222b0a0f18394a7660c62497
This commit is contained in:
Andreas Jaeger 2017-11-30 21:25:55 +01:00
parent 4149f7ce9b
commit 95aa5e0dc5
4 changed files with 14 additions and 45 deletions

8
doc/requirements.txt Normal file
View File

@ -0,0 +1,8 @@
# Notes:
# reno needs openstackdocstheme which needs reno (cycle dep).
# os-api-ref needs openstackdocstheme which needs os-api-ref (cycle dep).
# Put them in here will make it clear that those are only needed for
# docs.
os-api-ref>=1.4.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0

View File

@ -19,15 +19,6 @@ classifier =
Programming Language :: Python :: 3.5
Topic :: Documentation
[extras]
test =
os-api-ref>=1.4.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
# Notes:
# reno needs openstackdocstheme which needs reno (cycle dep).
# os-api-ref needs openstackdocstheme which needs os-api-ref (cycle dep).
# Put them in extras to make it an optional test dependency.
[global]
setup-hooks =
pbr.hooks.setup_hook

View File

@ -1,30 +0,0 @@
#!/usr/bin/env bash
# Client constraint file contains this client version pin that is in conflict
# with installing the client from source. We should remove the version pin in
# the constraints file before applying it for from-source installation.
CONSTRAINTS_FILE="$1"
shift 1
set -e
# NOTE(tonyb): Place this in the tox enviroment's log dir so it will get
# published to logs.openstack.org for easy debugging.
localfile="$VIRTUAL_ENV/log/upper-constraints.txt"
if [[ "$CONSTRAINTS_FILE" != http* ]]; then
CONSTRAINTS_FILE="file://$CONSTRAINTS_FILE"
fi
# NOTE(tonyb): need to add curl to bindep.txt if the project supports bindep
curl "$CONSTRAINTS_FILE" --insecure --progress-bar --output "$localfile"
pip install -c"$localfile" openstack-requirements
# This is the main purpose of the script: Allow local installation of
# the current repo. It is listed in constraints file and thus any
# install will be constrained and we need to unconstrain it.
edit-constraints "$localfile" -- "$CLIENT_NAME"
pip install -c"$localfile" -U "$@"
exit $?

12
tox.ini
View File

@ -4,12 +4,12 @@ envlist = pep8
[testenv]
usedevelop = False
install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
.[test]
setenv = VIRTUAL_ENV={envdir}
BRANCH_NAME=master
CLIENT_NAME=openstackdocstheme
install_command = pip install -U {opts} {packages}
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
sitepackages = False
whitelist_externals =
rm