public class SkylarkDescription extends Object implements RuleDescriptionWithInstanceName<SkylarkDescriptionArg>
Action
s.Constructor and Description |
---|
SkylarkDescription() |
Modifier and Type | Method and Description |
---|---|
Class<SkylarkDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
String |
getRuleName(SkylarkDescriptionArg args) |
boolean |
producesCacheableSubgraph()
Whether or not the build rule subgraph produced by this
Description is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation. |
ProviderInfoCollection |
ruleImpl(RuleAnalysisContext context,
BuildTarget target,
SkylarkDescriptionArg args)
Runs the rule implementation during the analysis phase.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getConfigurationDeps
public boolean producesCacheableSubgraph()
Description
Description
is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation.producesCacheableSubgraph
in interface Description<SkylarkDescriptionArg>
producesCacheableSubgraph
in interface RuleDescription<SkylarkDescriptionArg>
public ProviderInfoCollection ruleImpl(RuleAnalysisContext context, BuildTarget target, SkylarkDescriptionArg args) throws RuleAnalysisException, ActionCreationException
RuleDescription
Provider
s and corresponding
InfoInterface
s, and register its corresponding
actions.ruleImpl
in interface RuleDescription<SkylarkDescriptionArg>
context
- a RuleAnalysisContext
containing all the information usable by this rule
for it's analysis and constructive of its corresponding Provider
and BuildRule
graph.target
- the BuildTarget
of this ruleargs
- The args of type T
that this rule uses to rule its analysisProviderInfoCollection
that contains all the Provider
and the corresponding InfoInterface
to be propagated by this rule.RuleAnalysisException
- If the rule implementation could not run as expected. e.g. if the
implementation method of a User Defined Rule fails to evalActionCreationException
- If an action cannot be created correctlypublic String getRuleName(SkylarkDescriptionArg args)
getRuleName
in interface RuleDescriptionWithInstanceName<SkylarkDescriptionArg>
DescriptionCache.getRuleType(BaseDescription)
public Class<SkylarkDescriptionArg> getConstructorArgType()
BaseDescription
getConstructorArgType
in interface BaseDescription<SkylarkDescriptionArg>