Skip to content

Commit aec41b4

Browse files
committed
update to pants 2.13.0a1
1 parent d4dd400 commit aec41b4

3 files changed

Lines changed: 35 additions & 10 deletions

File tree

pants-plugins/stevedore_extensions/python_dependency_injection.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,22 @@
2121
PythonTestsGeneratorTarget,
2222
PythonTestsDependenciesField,
2323
)
24-
from pants.base.specs import AddressSpecs, DescendantAddresses, SiblingAddresses
24+
from pants.base.specs import DirGlobSpec, RawSpecs
2525
from pants.engine.addresses import Address
2626
from pants.engine.rules import collect_rules, Get, rule, UnionRule
2727
from pants.engine.target import (
2828
InjectDependenciesRequest,
2929
InjectedDependencies,
3030
Targets,
3131
WrappedTarget,
32+
WrappedTargetRequest,
3233
)
3334
from pants.util.frozendict import FrozenDict
3435
from pants.util.logging import LogLevel
3536
from pants.util.ordered_set import OrderedSet
3637

3738
from stevedore_extensions.target_types import (
38-
StevedoreDependenciesField,
39+
AllStevedoreExtensionTargets,
3940
StevedoreEntryPointsField,
4041
StevedoreExtension,
4142
StevedoreNamespaceField,
@@ -54,11 +55,9 @@ class StevedoreExtensions:
5455
desc="Creating map of stevedore_extension namespaces to StevedoreExtension targets",
5556
level=LogLevel.DEBUG,
5657
)
57-
async def map_stevedore_extensions() -> StevedoreExtensions:
58-
all_expanded_targets = await Get(Targets, AddressSpecs([DescendantAddresses("")]))
59-
stevedore_extensions = tuple(
60-
tgt for tgt in all_expanded_targets if tgt.has_field(StevedoreDependenciesField)
61-
)
58+
async def map_stevedore_extensions(
59+
stevedore_extensions: AllStevedoreExtensionTargets,
60+
) -> StevedoreExtensions:
6261
mapping: Mapping[str, List[StevedoreExtension]] = defaultdict(list)
6362
for extension in stevedore_extensions:
6463
mapping[extension[StevedoreNamespaceField].value].append(extension)
@@ -80,7 +79,13 @@ async def inject_stevedore_namespace_dependencies(
8079
stevedore_extensions: StevedoreExtensions,
8180
) -> InjectedDependencies:
8281
original_tgt: WrappedTarget
83-
original_tgt = await Get(WrappedTarget, Address, request.dependencies_field.address)
82+
original_tgt = await Get(
83+
WrappedTarget,
84+
WrappedTargetRequest(
85+
request.dependencies_field.address,
86+
description_of_origin="inject_stevedore_namespace_dependencies",
87+
),
88+
)
8489
if original_tgt.target.get(StevedoreNamespacesField).value is None:
8590
return InjectedDependencies()
8691

pants-plugins/stevedore_extensions/target_types.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
StringField,
3030
StringSequenceField,
3131
Target,
32+
Targets,
3233
)
3334
from pants.backend.python.target_types import EntryPoint, PythonResolveField
3435
from pants.source.filespec import Filespec
@@ -141,3 +142,7 @@ class StevedoreNamespacesField(StringSequenceField):
141142
"The stevedore namespace format (my.stevedore.extension) is similar "
142143
"to a python namespace."
143144
)
145+
146+
147+
class AllStevedoreExtensionTargets(Targets):
148+
pass

pants-plugins/stevedore_extensions/target_types_rules.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,24 @@
2222
from pants.backend.python.dependency_inference.rules import import_rules
2323
from pants.backend.python.subsystems.setup import PythonSetup
2424
from pants.backend.python.target_types import PythonResolveField
25-
from pants.engine.addresses import Address
2625
from pants.engine.fs import GlobMatchErrorBehavior, PathGlobs, Paths
2726
from pants.engine.rules import Get, collect_rules, MultiGet, rule, UnionRule
2827
from pants.engine.target import (
28+
AllTargets,
2929
Dependencies,
3030
DependenciesRequest,
3131
ExplicitlyProvidedDependencies,
3232
InjectDependenciesRequest,
3333
InjectedDependencies,
3434
InvalidFieldException,
3535
WrappedTarget,
36+
WrappedTargetRequest,
3637
)
3738
from pants.source.source_root import SourceRoot, SourceRootRequest
3839
from pants.util.logging import LogLevel
3940

4041
from stevedore_extensions.target_types import (
42+
AllStevedoreExtensionTargets,
4143
ResolvedStevedoreEntryPoints,
4244
ResolveStevedoreEntryPointsRequest,
4345
StevedoreDependenciesField,
@@ -46,6 +48,15 @@
4648
)
4749

4850

51+
@rule(desc="Find all StevedoreExtension targets in project", level=LogLevel.DEBUG)
52+
def find_all_stevedore_extension_targets(
53+
targets: AllTargets,
54+
) -> AllStevedoreExtensionTargets:
55+
return AllStevedoreExtensionTargets(
56+
tgt for tgt in targets if tgt.has_field(StevedoreDependenciesField)
57+
)
58+
59+
4960
@rule(
5061
desc="Determining the entry points for a `stevedore_extension` target",
5162
level=LogLevel.DEBUG,
@@ -145,7 +156,11 @@ async def inject_stevedore_entry_points_dependencies(
145156
python_setup: PythonSetup,
146157
) -> InjectedDependencies:
147158
original_tgt: WrappedTarget = await Get(
148-
WrappedTarget, Address, request.dependencies_field.address
159+
WrappedTarget,
160+
WrappedTargetRequest(
161+
request.dependencies_field.address,
162+
description_of_origin="inject_stevedore_entry_points_dependencies",
163+
),
149164
)
150165
entry_points: ResolvedStevedoreEntryPoints
151166
explicitly_provided_deps, entry_points = await MultiGet(

0 commit comments

Comments
 (0)