Skip to content

Commit

Permalink
exporting packages with features
Browse files Browse the repository at this point in the history
  • Loading branch information
dimbleby committed May 25, 2022
1 parent dad4edc commit 53f2d42
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/poetry/packages/locker.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ def __walk_dependencies(
extras = requirement.extras
requirement = locked_package.to_dependency()
requirement.marker = requirement.marker.intersect(marker)
requirement._extras = extras

requirement.set_constraint(constraint)

Expand All @@ -283,12 +284,12 @@ def __walk_dependencies(
dependencies.append(require)

key = locked_package
if key not in nested_dependencies:
nested_dependencies[key] = requirement
else:
nested_dependencies[key].marker = nested_dependencies[key].marker.union(
combined_requirement = nested_dependencies.setdefault(key, requirement)
if combined_requirement is not requirement:
combined_requirement.marker = combined_requirement.marker.union(
requirement.marker
)
combined_requirement._extras |= requirement.extras

return nested_dependencies

Expand Down Expand Up @@ -369,8 +370,8 @@ def get_project_dependency_packages(
project_requires=selected,
locked_packages=repository.packages,
):
for extra in dependency.extras:
package.requires_extras.append(extra)
if dependency.extras:
package = package.with_features(dependency.extras)

yield DependencyPackage(dependency=dependency, package=package)

Expand Down

0 comments on commit 53f2d42

Please sign in to comment.