public class SwiftLibraryDescription extends Object implements DescriptionWithTargetGraph<SwiftLibraryDescriptionArg>, Flavored, ImplicitDepsInferringDescription<com.facebook.buck.swift.SwiftLibraryDescription.AbstractSwiftLibraryDescriptionArg>
| Modifier and Type | Class and Description |
|---|---|
static class |
SwiftLibraryDescription.Type |
| Constructor and Description |
|---|
SwiftLibraryDescription(ToolchainProvider toolchainProvider,
CxxBuckConfig cxxBuckConfig,
SwiftBuckConfig swiftBuckConfig) |
| Modifier and Type | Method and Description |
|---|---|
BuildRule |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
SwiftLibraryDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams. |
Optional<BuildRule> |
createCompanionBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
ActionGraphBuilder graphBuilder,
CxxLibraryDescription.CommonArg args,
Optional<String> targetSdkVersion) |
static SwiftCompile |
createSwiftCompileRule(CxxPlatform cxxPlatform,
SwiftPlatform swiftPlatform,
SwiftBuckConfig swiftBuckConfig,
BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
CellPathResolver cellRoots,
ProjectFilesystem projectFilesystem,
SwiftLibraryDescriptionArg args,
Preprocessor preprocessor,
PreprocessorFlags preprocessFlags,
boolean importUnderlyingModule,
Optional<SwiftTargetTriple> swiftTarget) |
void |
findDepsForTargetFromConstructorArgs(BuildTarget buildTarget,
CellNameResolver cellRoots,
com.facebook.buck.swift.SwiftLibraryDescription.AbstractSwiftLibraryDescriptionArg 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<SwiftLibraryDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
com.google.common.collect.ImmutableSet<Flavor> |
getSupportedFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors,
TargetConfiguration toolchainTargetConfiguration) |
boolean |
hasFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors,
TargetConfiguration toolchainTargetConfiguration) |
static boolean |
isSwiftTarget(BuildTarget buildTarget) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitproducesCacheableSubgraphgetConfigurationDepspublic SwiftLibraryDescription(ToolchainProvider toolchainProvider, CxxBuckConfig cxxBuckConfig, SwiftBuckConfig swiftBuckConfig)
public void findDepsForTargetFromConstructorArgs(BuildTarget buildTarget, CellNameResolver cellRoots, com.facebook.buck.swift.SwiftLibraryDescription.AbstractSwiftLibraryDescriptionArg constructorArg, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder)
findDepsForTargetFromConstructorArgs in interface ImplicitDepsInferringDescription<com.facebook.buck.swift.SwiftLibraryDescription.AbstractSwiftLibraryDescriptionArg>public Class<SwiftLibraryDescriptionArg> getConstructorArgType()
BaseDescriptiongetConstructorArgType in interface BaseDescription<SwiftLibraryDescriptionArg>public Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> flavorDomains(TargetConfiguration toolchainTargetConfiguration)
flavorDomains in interface Flavoredpublic boolean hasFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors, TargetConfiguration toolchainTargetConfiguration)
hasFlavors in interface Flavoredflavors - The set of Flavors to consider. All must match.BuildRule of the given Flavor
can be created.public BuildRule createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, SwiftLibraryDescriptionArg args)
DescriptionWithTargetGraphBuildRule for the given BuildRuleParams. Note that the BuildTarget referred to in the params contains the Flavor to create.createBuildRule in interface DescriptionWithTargetGraph<SwiftLibraryDescriptionArg>args - A constructor argument, of type as returned by BaseDescription.getConstructorArgType().BuildRule that describes the default flavour of the rule being described.public Optional<BuildRule> createCompanionBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, ActionGraphBuilder graphBuilder, CxxLibraryDescription.CommonArg args, Optional<String> targetSdkVersion)
public static SwiftCompile createSwiftCompileRule(CxxPlatform cxxPlatform, SwiftPlatform swiftPlatform, SwiftBuckConfig swiftBuckConfig, BuildTarget buildTarget, ActionGraphBuilder graphBuilder, CellPathResolver cellRoots, ProjectFilesystem projectFilesystem, SwiftLibraryDescriptionArg args, Preprocessor preprocessor, PreprocessorFlags preprocessFlags, boolean importUnderlyingModule, Optional<SwiftTargetTriple> swiftTarget)
public static boolean isSwiftTarget(BuildTarget buildTarget)
public com.google.common.collect.ImmutableSet<Flavor> getSupportedFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors, TargetConfiguration toolchainTargetConfiguration)