public class CxxLuaExtensionDescription extends Object implements DescriptionWithTargetGraph<CxxLuaExtensionDescriptionArg>, ImplicitDepsInferringDescription<com.facebook.buck.features.lua.CxxLuaExtensionDescription.AbstractCxxLuaExtensionDescriptionArg>, VersionPropagator<CxxLuaExtensionDescriptionArg>, Flavored
Constructor and Description |
---|
CxxLuaExtensionDescription(ToolchainProvider toolchainProvider,
CxxBuckConfig cxxBuckConfig) |
Modifier and Type | Method and Description |
---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
CxxLuaExtensionDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams . |
void |
findDepsForTargetFromConstructorArgs(BuildTarget buildTarget,
CellNameResolver cellRoots,
com.facebook.buck.features.lua.CxxLuaExtensionDescription.AbstractCxxLuaExtensionDescriptionArg constructorArg,
com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder,
com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder) |
Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> |
flavorDomains(TargetConfiguration toolchainTargetConfiguration) |
Class<CxxLuaExtensionDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
producesCacheableSubgraph
getConfigurationDeps
hasFlavors
public CxxLuaExtensionDescription(ToolchainProvider toolchainProvider, CxxBuckConfig cxxBuckConfig)
public Class<CxxLuaExtensionDescriptionArg> getConstructorArgType()
BaseDescription
getConstructorArgType
in interface BaseDescription<CxxLuaExtensionDescriptionArg>
public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, CxxLuaExtensionDescriptionArg 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<CxxLuaExtensionDescriptionArg>
args
- A constructor argument, of type as returned by BaseDescription.getConstructorArgType()
.BuildRule
that describes the default flavour of the rule being described.public void findDepsForTargetFromConstructorArgs(BuildTarget buildTarget, CellNameResolver cellRoots, com.facebook.buck.features.lua.CxxLuaExtensionDescription.AbstractCxxLuaExtensionDescriptionArg constructorArg, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder)
findDepsForTargetFromConstructorArgs
in interface ImplicitDepsInferringDescription<com.facebook.buck.features.lua.CxxLuaExtensionDescription.AbstractCxxLuaExtensionDescriptionArg>
public Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> flavorDomains(TargetConfiguration toolchainTargetConfiguration)
flavorDomains
in interface Flavored