Commit 3c7592c2 by fsal Committed by Sébastien Eustace

Fix METADATA generation for git dependencies with extras (#1129)

* fix METADATA generation for git dependencies with extras

* add comment

* add comment

* add comment and linting

* Move trailing space from `base_pep_508_name()` to `to_pep_508()`

* Merge remote-tracking branch 'origin/master'

# Conflicts:
#	tests/packages/test_vcs_dependency.py

* Make changes python2 compliant

* Handle any type of marker

* Insert space before semicolon in dependency.py if vcs
parent 0b38fada
...@@ -200,6 +200,9 @@ class Dependency(object): ...@@ -200,6 +200,9 @@ class Dependency(object):
) )
if markers: if markers:
if self.is_vcs():
requirement += " "
if len(markers) > 1: if len(markers) > 1:
markers = ["({})".format(m) for m in markers] markers = ["({})".format(m) for m in markers]
requirement += "; {}".format(" and ".join(markers)) requirement += "; {}".format(" and ".join(markers))
......
...@@ -20,3 +20,36 @@ def test_to_pep_508_with_extras(): ...@@ -20,3 +20,36 @@ def test_to_pep_508_with_extras():
expected = "poetry[foo] @ git+https://github.com/sdispater/poetry.git@master" expected = "poetry[foo] @ git+https://github.com/sdispater/poetry.git@master"
assert expected == dependency.to_pep_508() assert expected == dependency.to_pep_508()
def test_to_pep_508_in_extras():
dependency = VCSDependency(
"poetry", "git", "https://github.com/sdispater/poetry.git"
)
dependency.in_extras.append("foo")
expected = (
'poetry @ git+https://github.com/sdispater/poetry.git@master ; extra == "foo"'
)
assert expected == dependency.to_pep_508()
dependency = VCSDependency(
"poetry", "git", "https://github.com/sdispater/poetry.git"
)
dependency.in_extras.append("foo")
dependency.extras.append("bar")
expected = 'poetry[bar] @ git+https://github.com/sdispater/poetry.git@master ; extra == "foo"'
assert expected == dependency.to_pep_508()
dependency = VCSDependency(
"poetry", "git", "https://github.com/sdispater/poetry.git", "b;ar;"
)
dependency.in_extras.append("foo;")
expected = (
'poetry @ git+https://github.com/sdispater/poetry.git@b;ar; ; extra == "foo;"'
)
assert expected == dependency.to_pep_508()
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