public class AppleDescriptions extends Object
DescriptionWithTargetGraph
that creates Apple target rules.Modifier and Type | Field and Description |
---|---|
static Flavor |
FRAMEWORK_FLAVOR |
static FlavorDomain<Boolean> |
INCLUDE_FRAMEWORKS |
static Flavor |
INCLUDE_FRAMEWORKS_FLAVOR |
static Flavor |
NO_INCLUDE_FRAMEWORKS_FLAVOR |
static Flavor |
SWIFT_COMPILE_FLAVOR |
static Flavor |
SWIFT_EXPORTED_OBJC_GENERATED_HEADER_SYMLINK_TREE_FLAVOR |
static Flavor |
SWIFT_OBJC_GENERATED_HEADER_SYMLINK_TREE_FLAVOR |
static Flavor |
SWIFT_UNDERLYING_MODULE_FLAVOR |
public static final Flavor FRAMEWORK_FLAVOR
public static final Flavor SWIFT_COMPILE_FLAVOR
public static final Flavor SWIFT_EXPORTED_OBJC_GENERATED_HEADER_SYMLINK_TREE_FLAVOR
public static final Flavor SWIFT_OBJC_GENERATED_HEADER_SYMLINK_TREE_FLAVOR
public static final Flavor SWIFT_UNDERLYING_MODULE_FLAVOR
public static final Flavor INCLUDE_FRAMEWORKS_FLAVOR
public static final Flavor NO_INCLUDE_FRAMEWORKS_FLAVOR
public static final FlavorDomain<Boolean> INCLUDE_FRAMEWORKS
public static Path getHeaderPathPrefix(AppleNativeTargetDescriptionArg arg, BuildTarget buildTarget)
public static com.google.common.collect.ImmutableSortedMap<String,SourcePath> convertAppleHeadersToPublicCxxHeaders(BuildTarget buildTarget, java.util.function.Function<SourcePath,Path> pathResolver, Path headerPathPrefix, CxxLibraryDescription.CommonArg arg)
public static com.google.common.collect.ImmutableSortedMap<String,SourcePath> convertHeadersToPublicCxxHeaders(BuildTarget buildTarget, java.util.function.Function<SourcePath,Path> pathResolver, Path headerPathPrefix, SourceSortedSet sourceSet)
public static com.google.common.collect.ImmutableSortedMap<String,SourcePath> convertAppleHeadersToPrivateCxxHeaders(BuildTarget buildTarget, java.util.function.Function<SourcePath,Path> pathResolver, Path headerPathPrefix, CxxLibraryDescription.CommonArg arg)
public static com.google.common.collect.ImmutableSortedMap<String,SourcePath> convertHeadersToPrivateCxxHeaders(BuildTarget buildTarget, java.util.function.Function<SourcePath,Path> pathResolver, Path headerPathPrefix, SourceSortedSet privateSourceSet, SourceSortedSet publicSourceSet)
public static void populateCxxBinaryDescriptionArg(ActionGraphBuilder graphBuilder, CxxBinaryDescriptionArg.Builder output, Optional<UnresolvedAppleCxxPlatform> appleCxxPlatform, AppleNativeTargetDescriptionArg arg, BuildTarget buildTarget)
public static void populateCxxLibraryDescriptionArg(BuildRuleResolver ruleResolver, CxxLibraryDescriptionArg.Builder output, Optional<UnresolvedAppleCxxPlatform> appleCxxPlatform, AppleNativeTargetDescriptionArg arg, BuildTarget buildTarget)
public static Optional<AppleAssetCatalog> createBuildRuleForTransitiveAssetCatalogDependencies(XCodeDescriptions xcodeDescriptions, TargetGraph targetGraph, BuildTarget buildTarget, ProjectFilesystem projectFilesystem, SourcePathRuleFinder ruleFinder, Optional<String> productType, ApplePlatform applePlatform, String targetSDKVersion, Tool actool, AppleAssetCatalog.ValidationType assetCatalogValidation, AppleAssetCatalogsCompilationOptions appleAssetCatalogsCompilationOptions, java.util.function.Predicate<BuildTarget> filter)
public static Optional<CoreDataModel> createBuildRulesForCoreDataDependencies(XCodeDescriptions xcodeDescriptions, TargetGraph targetGraph, BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, String moduleName, AppleCxxPlatform appleCxxPlatform, java.util.function.Predicate<BuildTarget> filter)
public static Optional<SceneKitAssets> createBuildRulesForSceneKitAssetsDependencies(XCodeDescriptions xcodeDescriptions, TargetGraph targetGraph, BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, AppleCxxPlatform appleCxxPlatform, java.util.function.Predicate<BuildTarget> filter)
public static BuildTarget getTargetPlatformBinary(Optional<BuildTarget> binary, Optional<PatternMatchedCollection<BuildTarget>> platformBinary, Flavor cxxPlatformFlavor)
By default it's the binary that was provided using binary
attribute, but in case
platform_binary
is specified and one of its patterns matches the target platform, it
will be returned instead.
public static boolean flavorsDoNotAllowLinkerMapMode(BuildTarget buildTarget)
public static boolean targetNodeContainsSwiftSourceCode(TargetNode<? extends CxxLibraryDescription.CommonArg> node)