Change dependency to use flavors

This makes sure we install the correct and only the correct dependencies
when installing tooz, based on the driver one wants to use.

Change-Id: I58825cf228771a00b28d515a552141b42f884efa
This commit is contained in:
Julien Danjou 2016-05-26 14:39:52 +02:00
parent 7360f85dab
commit e8d37b018a
4 changed files with 55 additions and 25 deletions

View File

@ -5,7 +5,6 @@ pbr>=1.6 # Apache-2.0
stevedore>=1.10.0 # Apache-2.0
six>=1.9.0 # MIT
enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD
zake>=0.1.6 # Apache-2.0
voluptuous>=0.8.9 # BSD License
msgpack-python>=0.4.0 # Apache-2.0
fasteners>=0.7 # Apache-2.0
@ -14,5 +13,3 @@ futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD
futurist>=0.11.0 # Apache-2.0
oslo.utils>=3.11.0 # Apache-2.0
oslo.serialization>=1.10.0 # Apache-2.0
requests>=2.10.0 # Apache-2.0
python-consul>=0.4.7 # MIT License

View File

@ -37,6 +37,47 @@ tooz.backends =
zookeeper = tooz.drivers.zookeeper:KazooDriver
consul = tooz.drivers.consul:ConsulDriver
[extras]
consul =
python-consul>=0.4.7 # MIT License
etcd =
requests>=2.10.0 # Apache-2.0
zake =
zake>=0.1.6 # Apache-2.0
redis =
redis>=2.10.0 # MIT
postgresql =
psycopg2>=2.5 # LGPL/ZPL
mysql =
PyMySQL>=0.6.2 # MIT License
zookeeper =
kazoo>=2.2 # Apache-2.0
memcached =
pymemcache!=1.3.0,>=1.2.9 # Apache 2.0 License
ipc =
sysv-ipc>=0.6.8 # BSD License
test =
mock>=2.0 # BSD
python-subunit>=0.0.18 # Apache-2.0/BSD
testrepository>=0.0.18 # Apache-2.0/BSD
testtools>=1.4.0 # MIT
coverage>=3.6 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
pifpaf>=0.4.0 # Apache-2.0
doc =
sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
[pbr]
warnerrors = True

View File

@ -1,20 +0,0 @@
# 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.
mock>=2.0 # BSD
sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
python-subunit>=0.0.18 # Apache-2.0/BSD
testrepository>=0.0.18 # Apache-2.0/BSD
testtools>=1.4.0 # MIT
coverage>=3.6 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
pifpaf>=0.4.0 # Apache-2.0
# All the various optional drivers require these...
psycopg2>=2.5 # LGPL/ZPL
PyMySQL>=0.6.2 # MIT License
sysv-ipc>=0.6.8 # BSD License
kazoo>=2.2 # Apache-2.0
pymemcache!=1.3.0,>=1.2.9 # Apache 2.0 License
redis>=2.10.0 # MIT

16
tox.ini
View File

@ -1,12 +1,24 @@
[tox]
minversion = 1.6
minversion = 1.8
envlist = py27,py34,py27-zookeeper,py34-zookeeper,py27-redis,py34-redis,py27-sentinel,py34-sentinel,py27-memcached,py34-memcached,py27-postgresql,py34-postgresql,py27-mysql,py34-mysql,py27-consul,py34-consul,pep8
[testenv]
deps = -r{toxinidir}/test-requirements.txt
# We need to install a bit more than just `test' because those drivers have
# custom tests that we always run
deps = .[test,zake,ipc,memcached,mysql]
py{27,34}-zookeeper: .[zookeeper]
py{27,34}-redis: .[redis]
py{27,34}-sentinel: .[redis]
py{27,34}-memcached: .[memcached]
py{27,34}-postgresql: .[postgresql]
py{27,34}-mysql: .[mysql]
py{27,34}-etcd: .[etcd]
py{27,34}-consul: .[consul]
commands = python setup.py testr --slowest --testr-args="{posargs}"
[testenv:venv]
# This target is used by the gate go run Sphinx to build the doc
deps = .[doc]
commands = {posargs}
[testenv:py27]