public class PythonLibraryDescription extends Object implements DescriptionWithTargetGraph<PythonLibraryDescriptionArg>, VersionPropagator<PythonLibraryDescriptionArg>, MetadataProvidingDescription<PythonLibraryDescriptionArg>, Flavored
Constructor and Description |
---|
PythonLibraryDescription(ToolchainProvider toolchainProvider) |
Modifier and Type | Method and Description |
---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
PythonLibraryDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams . |
<U> Optional<U> |
createMetadata(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
CellPathResolver cellRoots,
PythonLibraryDescriptionArg args,
Optional<com.google.common.collect.ImmutableMap<BuildTarget,Version>> selectedVersions,
Class<U> metadataClass) |
Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> |
flavorDomains(TargetConfiguration toolchainTargetConfiguration) |
Class<PythonLibraryDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
boolean |
producesCacheableSubgraph()
Whether or not the build rule subgraph produced by this
Description is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getConfigurationDeps
hasFlavors
public PythonLibraryDescription(ToolchainProvider toolchainProvider)
public Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> flavorDomains(TargetConfiguration toolchainTargetConfiguration)
flavorDomains
in interface Flavored
public Class<PythonLibraryDescriptionArg> getConstructorArgType()
BaseDescription
getConstructorArgType
in interface BaseDescription<PythonLibraryDescriptionArg>
public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, PythonLibraryDescriptionArg args)
DescriptionWithTargetGraph
BuildRule
for the given BuildRuleParams
. Note that the BuildTarget
referred to in the params
contains the Flavor
to create.createBuildRule
in interface DescriptionWithTargetGraph<PythonLibraryDescriptionArg>
args
- A constructor argument, of type as returned by BaseDescription.getConstructorArgType()
.BuildRule
that describes the default flavour of the rule being described.public <U> Optional<U> createMetadata(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, CellPathResolver cellRoots, PythonLibraryDescriptionArg args, Optional<com.google.common.collect.ImmutableMap<BuildTarget,Version>> selectedVersions, Class<U> metadataClass)
createMetadata
in interface MetadataProvidingDescription<PythonLibraryDescriptionArg>
public boolean producesCacheableSubgraph()
DescriptionWithTargetGraph
Description
is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation.producesCacheableSubgraph
in interface Description<PythonLibraryDescriptionArg>
producesCacheableSubgraph
in interface DescriptionWithTargetGraph<PythonLibraryDescriptionArg>