public class RustBinaryDescription extends Object implements DescriptionWithTargetGraph<RustBinaryDescriptionArg>, ImplicitDepsInferringDescription<com.facebook.buck.features.rust.RustBinaryDescription.AbstractRustBinaryDescriptionArg>, Flavored, VersionRoot<RustBinaryDescriptionArg>
| Modifier and Type | Class and Description |
|---|---|
protected static class |
RustBinaryDescription.Type |
| Modifier and Type | Field and Description |
|---|---|
static FlavorDomain<RustBinaryDescription.Type> |
BINARY_TYPE |
| Constructor and Description |
|---|
RustBinaryDescription(ToolchainProvider toolchainProvider,
RustBuckConfig rustBuckConfig) |
| Modifier and Type | Method and Description |
|---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
RustBinaryDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams. |
void |
findDepsForTargetFromConstructorArgs(BuildTarget buildTarget,
CellNameResolver cellRoots,
com.facebook.buck.features.rust.RustBinaryDescription.AbstractRustBinaryDescriptionArg 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<RustBinaryDescriptionArg> |
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, waithasFlavorsisVersionRootproducesCacheableSubgraphgetConfigurationDepspublic static final FlavorDomain<RustBinaryDescription.Type> BINARY_TYPE
public RustBinaryDescription(ToolchainProvider toolchainProvider, RustBuckConfig rustBuckConfig)
public Class<RustBinaryDescriptionArg> getConstructorArgType()
BaseDescriptiongetConstructorArgType in interface BaseDescription<RustBinaryDescriptionArg>public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, RustBinaryDescriptionArg args)
DescriptionWithTargetGraphBuildRule for the given BuildRuleParams. Note that the BuildTarget referred to in the params contains the Flavor to create.createBuildRule in interface DescriptionWithTargetGraph<RustBinaryDescriptionArg>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.rust.RustBinaryDescription.AbstractRustBinaryDescriptionArg 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.rust.RustBinaryDescription.AbstractRustBinaryDescriptionArg>public Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> flavorDomains(TargetConfiguration toolchainTargetConfiguration)
flavorDomains in interface Flavored