summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorChandan Singh <csingh43@bloomberg.net>2018-12-24 12:30:44 +0000
committerChandan Singh <csingh43@bloomberg.net>2019-01-02 19:39:58 +0000
commit1cbd9a7381c32467b500b316cdac3c647a59e0dc (patch)
treed8c246eafa83b7c5784cda2745465980a2daa414 /setup.py
parent32c47d1cec58c8832f526a5df7a0eb23251ac7e1 (diff)
downloadbuildstream-1cbd9a7381c32467b500b316cdac3c647a59e0dc.tar.gz
Add requirements files for install, test and plugin dependencies
Add `.in` and `.txt` requirements files for BuildStream's pure python dependencies. For each pair, the `.in` file is supposed to capture the loose version requirements, and the corresponding `.txt` file is supposed to have frozen requirements. We have 3 such sets: * `requirements`: BuildStream's runtime dependencies * `dev-requirements`: Dependencies for running tests * `plugin-requirements`: Dependencies for core plugins Note that the frozen requirements files will only be used for testing purposes, and `setup.py` will continue to read loose requirements.
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py23
1 files changed, 5 insertions, 18 deletions
diff --git a/setup.py b/setup.py
index 872e7da4e..ddcb03d6a 100755
--- a/setup.py
+++ b/setup.py
@@ -270,9 +270,12 @@ def get_cmdclass():
#####################################################
# Gather requirements #
#####################################################
-with open('dev-requirements.txt') as dev_reqs:
+with open('dev-requirements.in') as dev_reqs:
dev_requires = dev_reqs.read().splitlines()
+with open('requirements.in') as install_reqs:
+ install_requires = install_reqs.read().splitlines()
+
#####################################################
# Prepare package description from README #
#####################################################
@@ -334,23 +337,7 @@ setup(name='BuildStream',
os.path.join('buildstream', 'data', 'bst')
])
],
- install_requires=[
- 'setuptools',
- 'psutil',
- # According to ruamel.yaml's PyPI page, we are suppose to use
- # "<=0.15" in production until 0.15 becomes API stable.
- # However we need ruamel.yaml 0.15.41 or greater for Python 3.7.
- # We know that ruamel.yaml 0.15.52 breaks API in a way that
- # is incompatible with BuildStream.
- #
- # See issues #571 and #790.
- 'ruamel.yaml >= 0.15.41, < 0.15.52',
- 'pluginbase',
- 'Click >= 7.0',
- 'jinja2 >= 2.10',
- 'protobuf >= 3.5',
- 'grpcio >= 1.10',
- ],
+ install_requires=install_requires,
entry_points=bst_install_entry_points,
tests_require=dev_requires,
zip_safe=False)