aboutsummaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2021-07-03 08:18:33 +0200
committerUnai Martinez-Corral <38422348+umarcor@users.noreply.github.com>2021-07-03 12:00:10 +0100
commit33efa88f8fabd3809718513cbaf415a5b3b2d553 (patch)
tree83e012e974704fcff1b186294bd1d9271dce949e /setup.py
parent3c1783c39ac11e5c1a936e34981e85c7887cdb90 (diff)
downloadghdl-33efa88f8fabd3809718513cbaf415a5b3b2d553.tar.gz
ghdl-33efa88f8fabd3809718513cbaf415a5b3b2d553.tar.bz2
ghdl-33efa88f8fabd3809718513cbaf415a5b3b2d553.zip
Read requirement files recursively. Normalize and deduplicate items.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/setup.py b/setup.py
index c8372146b..458b5bfe7 100644
--- a/setup.py
+++ b/setup.py
@@ -63,13 +63,17 @@ def get_requirements(file: Path) -> List[str]:
requirements = []
with file.open("r") as fh:
for line in fh.readlines():
- if line.startswith("#"):
+ line = line.strip()
+ if line.startswith("#") or line == "":
continue
+ elif line.startswith("-r"):
+ filename = line[3:].strip()
+ requirements += get_requirements(file.parent / filename)
elif line.startswith("https"):
- _splitItems = line.strip().split("#")
+ _splitItems = line.split("#")
requirements.append("{} @ {}".format(_splitItems[1], _splitItems[0]))
else:
- requirements.append(line.strip())
+ requirements.append(line)
return requirements
@@ -96,6 +100,8 @@ documentationURL = (
namespace=gitHubNamespace, projectName=projectName
)
)
+requirements = list(set(get_requirements(requirementsFile)))
+
# Assemble all package information
setuptools_setup(
@@ -114,7 +120,7 @@ setuptools_setup(
"Issue Tracker": sourceCodeURL + "/issues",
},
python_requires=">=3.6",
- install_requires=get_requirements(requirementsFile),
+ install_requires=requirements,
packages=setuptools_find_packages(exclude=("tests",)),
entry_points={
"console_scripts": [