public class PrebuiltCxxLibraryDescription extends Object implements DescriptionWithTargetGraph<PrebuiltCxxLibraryDescriptionArg>, ImplicitDepsInferringDescription<com.facebook.buck.cxx.PrebuiltCxxLibraryDescription.AbstractPrebuiltCxxLibraryDescriptionArg>, VersionPropagator<PrebuiltCxxLibraryDescriptionArg>
| Constructor and Description |
|---|
PrebuiltCxxLibraryDescription(ToolchainProvider toolchainProvider,
CxxBuckConfig cxxBuckConfig) |
| Modifier and Type | Method and Description |
|---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
PrebuiltCxxLibraryDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams. |
void |
findDepsForTargetFromConstructorArgs(BuildTarget buildTarget,
CellNameResolver cellRoots,
com.facebook.buck.cxx.PrebuiltCxxLibraryDescription.AbstractPrebuiltCxxLibraryDescriptionArg constructorArg,
com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder,
com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder) |
Class<PrebuiltCxxLibraryDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
static String |
getSoname(BuildTarget target,
CxxPlatform cxxPlatform,
Optional<String> soname) |
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, waitgetConfigurationDepspublic PrebuiltCxxLibraryDescription(ToolchainProvider toolchainProvider, CxxBuckConfig cxxBuckConfig)
public Class<PrebuiltCxxLibraryDescriptionArg> getConstructorArgType()
BaseDescriptiongetConstructorArgType in interface BaseDescription<PrebuiltCxxLibraryDescriptionArg>public static String getSoname(BuildTarget target, CxxPlatform cxxPlatform, Optional<String> soname)
public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, PrebuiltCxxLibraryDescriptionArg args)
DescriptionWithTargetGraphBuildRule for the given BuildRuleParams. Note that the BuildTarget referred to in the params contains the Flavor to create.createBuildRule in interface DescriptionWithTargetGraph<PrebuiltCxxLibraryDescriptionArg>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.cxx.PrebuiltCxxLibraryDescription.AbstractPrebuiltCxxLibraryDescriptionArg constructorArg, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder)
findDepsForTargetFromConstructorArgs in interface ImplicitDepsInferringDescription<com.facebook.buck.cxx.PrebuiltCxxLibraryDescription.AbstractPrebuiltCxxLibraryDescriptionArg>public boolean producesCacheableSubgraph()
DescriptionWithTargetGraphDescription is safe to cache in
IncrementalActionGraphGenerator
for incremental action graph generation.producesCacheableSubgraph in interface Description<PrebuiltCxxLibraryDescriptionArg>producesCacheableSubgraph in interface DescriptionWithTargetGraph<PrebuiltCxxLibraryDescriptionArg>