diff options
author | Patrick Lehmann <Patrick.Lehmann@plc2.de> | 2021-07-03 08:18:33 +0200 |
---|---|---|
committer | Unai Martinez-Corral <38422348+umarcor@users.noreply.github.com> | 2021-07-03 12:00:10 +0100 |
commit | 33efa88f8fabd3809718513cbaf415a5b3b2d553 (patch) | |
tree | 83e012e974704fcff1b186294bd1d9271dce949e | |
parent | 3c1783c39ac11e5c1a936e34981e85c7887cdb90 (diff) | |
download | ghdl-33efa88f8fabd3809718513cbaf415a5b3b2d553.tar.gz ghdl-33efa88f8fabd3809718513cbaf415a5b3b2d553.tar.bz2 ghdl-33efa88f8fabd3809718513cbaf415a5b3b2d553.zip |
Read requirement files recursively. Normalize and deduplicate items.
-rw-r--r-- | setup.py | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -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": [ |