Commit 06cdc773 by finswimmer Committed by Sébastien Eustace

fix (#1654): exporting to requirements.txt always prepends -e to dependencies (#1656)

* fix (locker): add `develop = false` in `poetry.lock` if set in `pyproject.toml`
fix (locker): read `develop` value from `poetry.lock` so it is respect when exporting to `requirements.txt`

* fix (test_installer): adopt expected result

* change (test_installer): move develop key from source to package in lock file

* fix (test_installer): make black happy
parent e943a4e1
......@@ -138,6 +138,9 @@ class Locker(object):
package.add_dependency(dep_name, constraint)
if "develop" in info:
package.develop = info["develop"]
if "source" in info:
package.source_type = info["source"].get("type", "")
package.source_url = info["source"]["url"]
......@@ -301,5 +304,7 @@ class Locker(object):
}
if package.source_type:
data["source"]["type"] = package.source_type
if package.source_type == "directory":
data["develop"] = package.develop
return data
......@@ -275,6 +275,7 @@ class Provider:
)
package.source_url = dependency.path.as_posix()
package.develop = dependency.develop
if dependency.base is not None:
package.root_dir = dependency.base.as_posix()
......
[[package]]
category = "main"
description = ""
develop = true
name = "project-with-extras"
optional = false
python-versions = "*"
......@@ -18,6 +19,7 @@ url = "tests/fixtures/directory/project_with_transitive_directory_dependencies/.
[[package]]
category = "main"
description = ""
develop = true
name = "project-with-transitive-directory-dependencies"
optional = false
python-versions = "*"
......
......@@ -9,6 +9,7 @@ version = "1.4.4"
[[package]]
category = "main"
description = ""
develop = true
name = "project-with-extras"
optional = false
python-versions = "*"
......
......@@ -9,6 +9,7 @@ python-versions = "*"
[[package]]
name = "my-package"
version = "0.1.2"
develop = true
description = "Demo project."
category = "main"
optional = false
......
......@@ -29,6 +29,7 @@ version = "1.4.4"
[[package]]
category = "main"
description = ""
develop = true
name = "project-with-transitive-file-dependencies"
optional = false
python-versions = "*"
......
......@@ -25,6 +25,9 @@ from tests.repositories.test_legacy_repository import (
from tests.repositories.test_pypi_repository import MockRepository
fixtures_dir = Path("tests/fixtures")
class Installer(BaseInstaller):
def _get_installer(self):
return NoopInstaller()
......@@ -662,7 +665,7 @@ def test_installer_with_pypi_repository(package, locker, installed):
def test_run_installs_with_local_file(installer, locker, repo, package):
file_path = Path("tests/fixtures/distributions/demo-0.1.0-py2.py3-none-any.whl")
file_path = fixtures_dir / "distributions/demo-0.1.0-py2.py3-none-any.whl"
package.add_dependency("demo", {"file": str(file_path)})
repo.add_package(get_package("pendulum", "1.4.4"))
......@@ -677,8 +680,8 @@ def test_run_installs_with_local_file(installer, locker, repo, package):
def test_run_installs_wheel_with_no_requires_dist(installer, locker, repo, package):
file_path = Path(
"tests/fixtures/wheel_with_no_requires_dist/demo-0.1.0-py2.py3-none-any.whl"
file_path = (
fixtures_dir / "wheel_with_no_requires_dist/demo-0.1.0-py2.py3-none-any.whl"
)
package.add_dependency("demo", {"file": str(file_path)})
......@@ -694,7 +697,7 @@ def test_run_installs_wheel_with_no_requires_dist(installer, locker, repo, packa
def test_run_installs_with_local_poetry_directory_and_extras(
installer, locker, repo, package, tmpdir
):
file_path = Path("tests/fixtures/project_with_extras")
file_path = fixtures_dir / "project_with_extras"
package.add_dependency(
"project-with-extras", {"path": str(file_path), "extras": ["extras_a"]}
)
......@@ -713,8 +716,8 @@ def test_run_installs_with_local_poetry_directory_and_extras(
def test_run_installs_with_local_poetry_directory_transitive(
installer, locker, repo, package, tmpdir
):
file_path = Path(
"tests/fixtures/directory/project_with_transitive_directory_dependencies/"
file_path = (
fixtures_dir / "directory/project_with_transitive_directory_dependencies/"
)
package.add_dependency(
"project-with-transitive-directory-dependencies", {"path": str(file_path)}
......@@ -735,9 +738,7 @@ def test_run_installs_with_local_poetry_directory_transitive(
def test_run_installs_with_local_poetry_file_transitive(
installer, locker, repo, package, tmpdir
):
file_path = Path(
"tests/fixtures/directory/project_with_transitive_file_dependencies/"
)
file_path = fixtures_dir / "directory/project_with_transitive_file_dependencies/"
package.add_dependency(
"project-with-transitive-file-dependencies", {"path": str(file_path)}
)
......@@ -757,7 +758,7 @@ def test_run_installs_with_local_poetry_file_transitive(
def test_run_installs_with_local_setuptools_directory(
installer, locker, repo, package, tmpdir
):
file_path = Path("tests/fixtures/project_with_setup/")
file_path = fixtures_dir / "project_with_setup/"
package.add_dependency("my-package", {"path": str(file_path)})
repo.add_package(get_package("pendulum", "1.4.4"))
......
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