From 627f62ce7504269b830827f7f7600bc52393e176 Mon Sep 17 00:00:00 2001 From: Lianhao Lu Date: Tue, 1 Aug 2017 15:01:24 +0800 Subject: Unified dependency requirement into single file Use the requirements.txt as the single file to include all the dependencies. This is to unblock the jenkins verify job failure. Change-Id: If68b61826bfe8d32d08e59d9b67a8791cc878833 Signed-off-by: Lianhao Lu Issue-Id: VNFSDK-69 --- MANIFEST.in | 3 +++ assembly.xml | 3 ++- requirements.txt | 14 +++----------- setup.py | 32 +++++++++++++++++++++++++++----- 4 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..1e4434f --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +include COPYRIGHT +include LICENSE +include requirements.txt diff --git a/assembly.xml b/assembly.xml index ef7078e..f6f5ab9 100644 --- a/assembly.xml +++ b/assembly.xml @@ -26,7 +26,8 @@ under the License. COPYRIGHT LICENSE - setup.py + setup.py + MANIFEST.in Makefile cli/** packager/** diff --git a/requirements.txt b/requirements.txt index 416adda..245c3b4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,3 @@ -ruamel.yaml==0.12.14 -requests -logging -clint==0.5.1 -CacheControl[filecache]==0.11.6 -lockfile -Jinja2==2.8 -shortuuid==0.4.3 -jsonpickle -ordereddict==1.1 ; python_version < '2.7' -https://nexus.open-o.org/service/local/repositories/releases/content/org/openo/common-tosca/aria/aria/1.0.0/aria-1.0.0.zip +ruamel.yaml<0.12.0,>=0.11.12 +requests<2.14.0,>=2.3.0 +apache-ariatosca==0.1.1 diff --git a/setup.py b/setup.py index 426cbbc..ab56412 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,7 @@ # under the License. # +import os from setuptools import setup import sys @@ -24,6 +25,28 @@ if sys.version_info < (2, 7): if sys.version_info >= (3, 0): sys.exit('VNF SDK does not support Python 3') + +root_dir = os.path.dirname(__file__) +install_requires = [] +extras_require = {} + +with open(os.path.join(root_dir, 'requirements.txt')) as requirements: + for requirement in requirements.readlines(): + # get rid of comments or trailing comments + requirement = requirement.split('#')[0].strip() + if not requirement: + continue # skip empty and comment lines + # dependencies which use environment markers have to go in as + # conditional dependencies under "extra_require", see more at: + # https://wheel.readthedocs.io/en/latest/index.html#defining-conditional-dependencies + if ';' in requirement: + package, condition = requirement.split(';') + cond_name = ':{0}'.format(condition.strip()) + extras_require.setdefault(cond_name, []) + extras_require[cond_name].append(package.strip()) + else: + install_requires.append(requirement) + setup( name='vnfsdk', version='0.1', @@ -62,9 +85,8 @@ setup( 'console_scripts': [ 'vnfsdk = cli.__main__:main'] }, - # Please make sure this is in sync with src/aria/requirements.txt - install_requires=[ - 'ruamel.yaml<0.12.0,>=0.11.12', - 'requests<2.14.0,>=2.3.0', - 'apache-ariatosca==0.1.1']) + + include_package_data=True, + install_requires=install_requires, + extras_require=extras_require) -- cgit 1.2.3-korg