Commit b70d2602 by Randy Döring Committed by Bjorn Neergaard

Fix misuse of pretty_constraint exposed by downstream test after fix in poetry-core

parent 33967697
...@@ -237,16 +237,16 @@ class Locker: ...@@ -237,16 +237,16 @@ class Locker:
if locked_package: if locked_package:
# create dependency from locked package to retain dependency metadata # create dependency from locked package to retain dependency metadata
# if this is not done, we can end-up with incorrect nested dependencies # if this is not done, we can end-up with incorrect nested dependencies
constraint = requirement.constraint
pretty_constraint = requirement.pretty_constraint
marker = requirement.marker marker = requirement.marker
requirement = locked_package.to_dependency() requirement = locked_package.to_dependency()
requirement.marker = requirement.marker.intersect(marker) requirement.marker = requirement.marker.intersect(marker)
key = (requirement.name, requirement.pretty_constraint) key = (requirement.name, pretty_constraint)
if pinned_versions: if not pinned_versions:
requirement.set_constraint( requirement.set_constraint(constraint)
locked_package.to_dependency().constraint
)
for require in locked_package.requires: for require in locked_package.requires:
if require.marker.is_empty(): if require.marker.is_empty():
......
import itertools
import urllib.parse import urllib.parse
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
...@@ -69,13 +70,21 @@ class Exporter: ...@@ -69,13 +70,21 @@ class Exporter:
content = "" content = ""
dependency_lines = set() dependency_lines = set()
for dependency_package in self._poetry.locker.get_project_dependency_packages( for package, groups in itertools.groupby(
project_requires=self._poetry.package.all_requires, dev=dev, extras=extras self._poetry.locker.get_project_dependency_packages(
project_requires=self._poetry.package.all_requires,
dev=dev,
extras=extras,
),
lambda dependency_package: dependency_package.package,
): ):
line = "" line = ""
dependency_packages = list(groups)
dependency = dependency_package.dependency dependency = dependency_packages[0].dependency
package = dependency_package.package marker = dependency.marker
for dep_package in dependency_packages[1:]:
marker = marker.union(dep_package.dependency.marker)
dependency.marker = marker
if package.develop: if package.develop:
line += "-e " line += "-e "
......
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