diff options
| author | Julien Danjou <julien@danjou.info> | 2016-05-26 14:39:52 +0200 |
|---|---|---|
| committer | Julien Danjou <julien@danjou.info> | 2016-06-09 10:40:48 +0200 |
| commit | e8d37b018a08fd68673facaa8be7ef9e556450af (patch) | |
| tree | 50ca606a420a00197106c2d37f0219127031df89 | |
| parent | 7360f85dabd13f87d2fbf56fb924e2cb9d382dc0 (diff) | |
| download | tooz-e8d37b018a08fd68673facaa8be7ef9e556450af.tar.gz | |
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
| -rw-r--r-- | requirements.txt | 3 | ||||
| -rw-r--r-- | setup.cfg | 41 | ||||
| -rw-r--r-- | test-requirements.txt | 20 | ||||
| -rw-r--r-- | tox.ini | 16 |
4 files changed, 55 insertions, 25 deletions
diff --git a/requirements.txt b/requirements.txt index 4e47534..826db66 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 @@ -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 diff --git a/test-requirements.txt b/test-requirements.txt deleted file mode 100644 index 77d7c40..0000000 --- a/test-requirements.txt +++ /dev/null @@ -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 @@ -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] |
