public class AppleBundleDescription extends Object implements DescriptionWithTargetGraph<AppleBundleDescriptionArg>, Flavored, ImplicitDepsInferringDescription<com.facebook.buck.apple.AppleBundleDescription.AbstractAppleBundleDescriptionArg>, MetadataProvidingDescription<AppleBundleDescriptionArg>
| Modifier and Type | Field and Description |
|---|---|
static com.google.common.collect.ImmutableSet<Flavor> |
SUPPORTED_LIBRARY_FLAVORS |
static Flavor |
WATCH_OS_64_32_FLAVOR |
static Flavor |
WATCH_OS_FLAVOR |
static Flavor |
WATCH_SIMULATOR_FLAVOR |
| Constructor and Description |
|---|
AppleBundleDescription(ToolchainProvider toolchainProvider,
XCodeDescriptions xcodeDescriptions,
AppleBinaryDescription appleBinaryDescription,
AppleLibraryDescription appleLibraryDescription,
AppleConfig appleConfig,
CxxBuckConfig cxxBuckConfig,
SwiftBuckConfig swiftBuckConfig) |
| Modifier and Type | Method and Description |
|---|---|
AppleBundle |
createBuildRule(BuildRuleCreationContextWithTargetGraph context,
BuildTarget buildTarget,
BuildRuleParams params,
AppleBundleDescriptionArg args)
Create a
BuildRule for the given BuildRuleParams. |
<U> Optional<U> |
createMetadata(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
CellPathResolver cellRoots,
AppleBundleDescriptionArg args,
Optional<com.google.common.collect.ImmutableMap<BuildTarget,Version>> selectedVersions,
Class<U> metadataClass) |
void |
findDepsForTargetFromConstructorArgs(BuildTarget buildTarget,
CellNameResolver cellRoots,
com.facebook.buck.apple.AppleBundleDescription.AbstractAppleBundleDescriptionArg constructorArg,
com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder,
com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder)
Propagate the bundle's platform, debug symbol and strip flavors to its dependents which are
other bundles (e.g.
|
Optional<com.google.common.collect.ImmutableSet<FlavorDomain<?>>> |
flavorDomains(TargetConfiguration toolchainTargetConfiguration) |
Class<AppleBundleDescriptionArg> |
getConstructorArgType()
The type of the constructor argument that is used by this description to create a rule
|
boolean |
hasFlavors(com.google.common.collect.ImmutableSet<Flavor> flavors,
TargetConfiguration toolchainTargetConfiguration) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitproducesCacheableSubgraphgetConfigurationDepspublic static final com.google.common.collect.ImmutableSet<Flavor> SUPPORTED_LIBRARY_FLAVORS
public static final Flavor WATCH_OS_FLAVOR
public static final Flavor WATCH_OS_64_32_FLAVOR
public static final Flavor WATCH_SIMULATOR_FLAVOR
public AppleBundleDescription(ToolchainProvider toolchainProvider, XCodeDescriptions xcodeDescriptions, AppleBinaryDescription appleBinaryDescription, AppleLibraryDescription appleLibraryDescription, AppleConfig appleConfig, CxxBuckConfig cxxBuckConfig, SwiftBuckConfig swiftBuckConfig)
public Class<AppleBundleDescriptionArg> getConstructorArgType()
BaseDescriptiongetConstructorArgType in interface BaseDescription<AppleBundleDescriptionArg>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 AppleBundle createBuildRule(BuildRuleCreationContextWithTargetGraph context, BuildTarget buildTarget, BuildRuleParams params, AppleBundleDescriptionArg args)
DescriptionWithTargetGraphBuildRule for the given BuildRuleParams. Note that the BuildTarget referred to in the params contains the Flavor to create.createBuildRule in interface DescriptionWithTargetGraph<AppleBundleDescriptionArg>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.apple.AppleBundleDescription.AbstractAppleBundleDescriptionArg constructorArg, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> extraDepsBuilder, com.google.common.collect.ImmutableCollection.Builder<BuildTarget> targetGraphOnlyDepsBuilder)
findDepsForTargetFromConstructorArgs in interface ImplicitDepsInferringDescription<com.facebook.buck.apple.AppleBundleDescription.AbstractAppleBundleDescriptionArg>public <U> Optional<U> createMetadata(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, CellPathResolver cellRoots, AppleBundleDescriptionArg args, Optional<com.google.common.collect.ImmutableMap<BuildTarget,Version>> selectedVersions, Class<U> metadataClass)
createMetadata in interface MetadataProvidingDescription<AppleBundleDescriptionArg>