Commit f0855d98 by Arun Babu Neelicattu Committed by Steph Samson

Ensure develop flag is respected for git packages (#1321)

Resolves: #1080
parent 0a5b448d
...@@ -138,10 +138,15 @@ class PipInstaller(BaseInstaller): ...@@ -138,10 +138,15 @@ class PipInstaller(BaseInstaller):
return req return req
if package.source_type == "git": if package.source_type == "git":
return "git+{}@{}#egg={}".format( req = "git+{}@{}#egg={}".format(
package.source_url, package.source_reference, package.name package.source_url, package.source_reference, package.name
) )
if package.develop:
req = ["-e", req]
return req
return "{}=={}".format(package.name, package.version) return "{}=={}".format(package.name, package.version)
def create_temporary_requirement(self, package): def create_temporary_requirement(self, package):
...@@ -226,6 +231,6 @@ class PipInstaller(BaseInstaller): ...@@ -226,6 +231,6 @@ class PipInstaller(BaseInstaller):
pkg = Package(package.name, package.version) pkg = Package(package.name, package.version)
pkg.source_type = "directory" pkg.source_type = "directory"
pkg.source_url = str(src_dir) pkg.source_url = str(src_dir)
pkg.develop = True pkg.develop = package.develop
self.install_directory(pkg) self.install_directory(pkg)
import pytest
from poetry.installation.pip_installer import PipInstaller from poetry.installation.pip_installer import PipInstaller
from poetry.io import NullIO from poetry.io import NullIO
from poetry.packages.package import Package from poetry.packages.package import Package
from poetry.utils.env import NullEnv from poetry.utils.env import NullEnv
def test_requirement(): @pytest.fixture
installer = PipInstaller(NullEnv(), NullIO()) def package_git():
package = Package("demo", "1.0.0")
package.source_type = "git"
package.source_url = "git@github.com:demo/demo.git"
package.source_reference = "master"
return package
@pytest.fixture
def installer():
return PipInstaller(NullEnv(), NullIO())
def test_requirement(installer):
package = Package("ipython", "7.5.0") package = Package("ipython", "7.5.0")
package.hashes = [ package.hashes = [
"md5:dbdc53e3918f28fa335a173432402a00", "md5:dbdc53e3918f28fa335a173432402a00",
...@@ -22,3 +36,19 @@ def test_requirement(): ...@@ -22,3 +36,19 @@ def test_requirement():
) )
assert expected == result assert expected == result
def test_requirement_git_develop_false(installer, package_git):
package_git.develop = False
result = installer.requirement(package_git)
expected = "git+git@github.com:demo/demo.git@master#egg=demo"
assert expected == result
def test_requirement_git_develop_true(installer, package_git):
package_git.develop = True
result = installer.requirement(package_git)
expected = ["-e", "git+git@github.com:demo/demo.git@master#egg=demo"]
assert expected == result
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