T
- The object describing the parameters to be passed to the BuildRule
. How this
is processed is described in the class level javadoc of ConstructorArgMarshaller
.public interface DescriptionWithTargetGraph<T extends BuildRuleArg> extends Description<T>
BuildRule
, providing mechanisms to expose the arguments that
rules derived from the Buildable take and providing a factory for those BuildRules. It is
expected that instances of this class are stateless.Modifier and Type | Method and Description |
---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
T args)
Create a
BuildRule for the given BuildRuleParams . |
default boolean |
producesCacheableSubgraph()
Whether or not the build rule subgraph produced by this
Description is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation. |
getConfigurationDeps, getConstructorArgType
BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, T args)
BuildRule
for the given BuildRuleParams
. Note that the BuildTarget
referred to in the params
contains the Flavor
to create.buildTarget
- args
- A constructor argument, of type as returned by BaseDescription.getConstructorArgType()
.BuildRule
that describes the default flavour of the rule being described.default boolean producesCacheableSubgraph()
Description
is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation.producesCacheableSubgraph
in interface Description<T extends BuildRuleArg>