summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2014-09-09 10:40:38 -0700
committerJoshua Harlow <harlowja@yahoo-inc.com>2014-09-26 12:44:05 -0700
commit1e216c61f11ff7efe9cf5e4b205c8f418cf76fc0 (patch)
tree1d500954bec88dde5326f37c84b742e953a6e4b5
parent7f375a86b380c9d415fad778e46bd1adc0169130 (diff)
downloadtaskflow-1e216c61f11ff7efe9cf5e4b205c8f418cf76fc0.tar.gz
Move some of the custom requirements out of tox.ini
This change removes the need for an optional-requirements file which isn't being kept up to date with the rest of the openstack ecosystem and moves most of the customizations to test-requirements and where different versions are still needed (aka for SQLAlchemy) we place those varations into there needed tox environment as required. Change-Id: I443794b83de3f6a196fa7fc29a90620fb51b7f4c
-rw-r--r--optional-requirements.txt31
-rw-r--r--requirements-py2.txt6
-rw-r--r--requirements-py3.txt4
-rw-r--r--test-requirements.txt17
-rw-r--r--tox.ini22
5 files changed, 36 insertions, 44 deletions
diff --git a/optional-requirements.txt b/optional-requirements.txt
deleted file mode 100644
index e010cf6..0000000
--- a/optional-requirements.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file lists dependencies that are used by different pluggable (optional)
-# parts of TaskFlow, like engines or persistence backends. They are not
-# strictly required by TaskFlow (aka you can use TaskFlow without them), so
-# they don't go into one of the requirements.txt files.
-
-# 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.
-
-# Database (sqlalchemy) persistence:
-SQLAlchemy>=0.7.8,<=0.9.99
-alembic>=0.4.1
-
-# Database (sqlalchemy) persistence with MySQL:
-MySQL-python
-
-# NOTE(imelnikov): pyMySQL should be here, but for now it's commented out
-# because of https://bugs.launchpad.net/openstack-ci/+bug/1280008
-# pyMySQL
-
-# Database (sqlalchemy) persistence with PostgreSQL:
-psycopg2
-
-# ZooKeeper backends
-kazoo>=1.3.1
-
-# Eventlet may be used with parallel engine:
-eventlet>=0.13.0
-
-# Needed for the worker-based engine:
-kombu>=2.4.8
diff --git a/requirements-py2.txt b/requirements-py2.txt
index d4f85ae..3f6292d 100644
--- a/requirements-py2.txt
+++ b/requirements-py2.txt
@@ -6,16 +6,22 @@
# Only needed on python 2.6
ordereddict
+
# Python 2->3 compatibility library.
six>=1.7.0
+
# Very nice graph library
networkx>=1.8
+
# Used for backend storage engine loading.
stevedore>=1.0.0 # Apache-2.0
+
# Backport for concurrent.futures which exists in 3.2+
futures>=2.1.6
+
# Used for structured input validation
jsonschema>=2.0.0,<3.0.0
+
# For common utilities
oslo.utils>=0.3.0
oslo.serialization>=0.1.0
diff --git a/requirements-py3.txt b/requirements-py3.txt
index 59ee1d3..8befdaf 100644
--- a/requirements-py3.txt
+++ b/requirements-py3.txt
@@ -6,12 +6,16 @@
# Python 2->3 compatibility library.
six>=1.7.0
+
# Very nice graph library
networkx>=1.8
+
# Used for backend storage engine loading.
stevedore>=1.0.0 # Apache-2.0
+
# Used for structured input validation
jsonschema>=2.0.0,<3.0.0
+
# For common utilities
oslo.utils>=0.3.0
oslo.serialization>=0.1.0
diff --git a/test-requirements.txt b/test-requirements.txt
index bbfe80b..b72ca0b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9,7 +9,22 @@ mock>=1.0
python-subunit>=0.0.18
testrepository>=0.0.18
testtools>=0.9.34
+
+# Used for testing the WBE engine.
+kombu>=2.4.8
+
+# Used for testing zookeeper & backends.
zake>=0.1 # Apache-2.0
-# docs build jobs
+kazoo>=1.3.1
+
+# Used for testing database persistence backends.
+#
+# NOTE(harlowja): SQLAlchemy isn't listed here currently but is
+# listed in our tox.ini files so that we can test multiple varying SQLAlchemy
+# versions to ensure a wider range of compatibility.
+alembic>=0.6.4
+psycopg2
+
+# Docs build jobs need these packages.
sphinx>=1.1.2,!=1.2.0,<1.3
oslosphinx>=2.2.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index 83030ce..bc91277 100644
--- a/tox.ini
+++ b/tox.ini
@@ -17,10 +17,6 @@ usedevelop = True
install_command = pip install {opts} {packages}
setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/test-requirements.txt
- alembic>=0.4.1
- psycopg2
- kazoo>=1.3.1
- kombu>=2.4.8
commands = python setup.py testr --slowest --testr-args='{posargs}'
[testenv:docs]
@@ -61,18 +57,20 @@ exclude = .venv,.tox,dist,doc,./taskflow/openstack/common,*egg,.git,build,tools
# NOTE(imelnikov): pyXY envs are considered to be default, so they must have
# richest set of test requirements
[testenv:py26]
+basepython = python2.6
deps = {[testenv]deps}
-r{toxinidir}/requirements-py2.txt
- SQLAlchemy>=0.7.8,<=0.7.99
MySQL-python
eventlet>=0.13.0
-basepython = python2.6
+ SQLAlchemy>=0.7.8,<=0.7.99
[testenv:py27]
-deps = -r{toxinidir}/requirements-py2.txt
- -r{toxinidir}/optional-requirements.txt
- -r{toxinidir}/test-requirements.txt
- doc8>=0.3.4
+deps = {[testenv]deps}
+ -r{toxinidir}/requirements-py2.txt
+ MySQL-python
+ eventlet>=0.13.0
+ SQLAlchemy>=0.7.8,<=0.9.99
+ doc8
commands =
python setup.py testr --slowest --testr-args='{posargs}'
sphinx-build -b doctest doc/source doc/build
@@ -89,15 +87,15 @@ deps = {[testenv]deps}
SQLAlchemy>=0.7.8,<=0.9.99
[testenv:py26-sa7-mysql]
+basepython = python2.6
deps = {[testenv]deps}
-r{toxinidir}/requirements-py2.txt
SQLAlchemy>=0.7.8,<=0.7.99
MySQL-python
-basepython = python2.6
[testenv:py27-sa8-mysql]
+basepython = python2.7
deps = {[testenv]deps}
-r{toxinidir}/requirements-py2.txt
SQLAlchemy>=0.8,<=0.8.99
MySQL-python
-basepython = python2.7