Unified dependency requirement into single file 33/6533/2
authorLianhao Lu <lianhao.lu@intel.com>
Tue, 1 Aug 2017 07:01:24 +0000 (15:01 +0800)
committerLianhao Lu <lianhao.lu@intel.com>
Fri, 18 Aug 2017 01:40:59 +0000 (09:40 +0800)
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 <lianhao.lu@intel.com>
Issue-Id: VNFSDK-69

MANIFEST.in [new file with mode: 0644]
assembly.xml
requirements.txt
setup.py

diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644 (file)
index 0000000..1e4434f
--- /dev/null
@@ -0,0 +1,3 @@
+include COPYRIGHT
+include LICENSE
+include requirements.txt
index ef7078e..f6f5ab9 100644 (file)
@@ -26,7 +26,8 @@ under the License.
             <includes>
                 <include>COPYRIGHT</include>
                 <include>LICENSE</include>
-                <include>setup.py</include>
+               <include>setup.py</include>
+               <include>MANIFEST.in</include>
                 <include>Makefile</include>
                 <include>cli/**</include>
                 <include>packager/**</include>
index 416adda..245c3b4 100644 (file)
@@ -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
index 426cbbc..ab56412 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -16,6 +16,7 @@
 # under the License.\r
 #\r
 \r
+import os\r
 from setuptools import setup\r
 import sys\r
 \r
@@ -24,6 +25,28 @@ if sys.version_info < (2, 7):
 if sys.version_info >= (3, 0):\r
     sys.exit('VNF SDK does not support Python 3')\r
 \r
+\r
+root_dir = os.path.dirname(__file__)\r
+install_requires = []\r
+extras_require = {}\r
+\r
+with open(os.path.join(root_dir, 'requirements.txt')) as requirements:\r
+    for requirement in requirements.readlines():\r
+        # get rid of comments or trailing comments\r
+        requirement = requirement.split('#')[0].strip()\r
+        if not requirement:\r
+            continue # skip empty and comment lines\r
+        # dependencies which use environment markers have to go in as\r
+        # conditional dependencies under "extra_require", see more at:\r
+        # https://wheel.readthedocs.io/en/latest/index.html#defining-conditional-dependencies\r
+        if ';' in requirement:\r
+            package, condition = requirement.split(';')\r
+            cond_name = ':{0}'.format(condition.strip())\r
+            extras_require.setdefault(cond_name, [])\r
+            extras_require[cond_name].append(package.strip())\r
+        else:\r
+            install_requires.append(requirement)\r
+\r
 setup(\r
     name='vnfsdk',\r
     version='0.1',\r
@@ -62,9 +85,8 @@ setup(
         'console_scripts': [\r
             'vnfsdk = cli.__main__:main']\r
     },\r
-    # Please make sure this is in sync with src/aria/requirements.txt\r
-    install_requires=[\r
-        'ruamel.yaml<0.12.0,>=0.11.12',\r
-        'requests<2.14.0,>=2.3.0',\r
-        'apache-ariatosca==0.1.1'])\r
+\r
+    include_package_data=True,\r
+    install_requires=install_requires,\r
+    extras_require=extras_require)\r
 \r