Commit 655f5825 by Tom Milligan Committed by Arun Babu Neelicattu

package: allow url dependencies to be optional

parent 9e1324e1
...@@ -333,7 +333,9 @@ class Package(object): ...@@ -333,7 +333,9 @@ class Package(object):
develop=constraint.get("develop", True), develop=constraint.get("develop", True),
) )
elif "url" in constraint: elif "url" in constraint:
dependency = URLDependency(name, constraint["url"], category=category) dependency = URLDependency(
name, constraint["url"], category=category, optional=optional
)
else: else:
version = constraint["version"] version = constraint["version"]
......
...@@ -49,3 +49,20 @@ def test_package_add_dependency_vcs_category_default_main(): ...@@ -49,3 +49,20 @@ def test_package_add_dependency_vcs_category_default_main():
"poetry", constraint={"git": "https://github.com/python-poetry/poetry.git"} "poetry", constraint={"git": "https://github.com/python-poetry/poetry.git"}
) )
assert dependency.category == "main" assert dependency.category == "main"
@pytest.mark.parametrize("category", ["main", "dev"])
@pytest.mark.parametrize("optional", [True, False])
def test_package_url_category_optional(category, optional):
package = Package("foo", "0.1.0")
dependency = package.add_dependency(
"poetry",
constraint={
"url": "https://github.com/python-poetry/poetry/releases/download/1.0.5/poetry-1.0.5-linux.tar.gz",
"optional": optional,
},
category=category,
)
assert dependency.category == category
assert dependency.is_optional() == optional
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment