public class PrebuiltAppleFramework extends AbstractBuildRuleWithDeclaredAndExtraDeps implements CxxPreprocessorDep, LegacyNativeLinkableGroup, HasOutputName
NativeLinkableGroup.Linkage| Constructor and Description |
|---|
PrebuiltAppleFramework(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
BuildRuleParams params,
ActionGraphBuilder graphBuilder,
SourcePath frameworkPath,
NativeLinkableGroup.Linkage preferredLinkage,
com.google.common.collect.ImmutableSet<FrameworkPath> frameworks,
Optional<Pattern> supportedPlatformsRegex,
java.util.function.Function<? super CxxPlatform,com.google.common.collect.ImmutableList<String>> exportedLinkerFlags,
FlavorDomain<UnresolvedAppleCxxPlatform> applePlatformFlavorDomain) |
deprecatedGetExtraDeps, getBuildDeps, getDeclaredDeps, getTargetGraphOnlyDepsequals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, toString, updateBuildRuleResolverclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetBuildTargetforceLinkWholeForHaskellOmnibus, getExportedLinkerFlags, getExportedPostLinkerFlags, getNativeLinkable, getNativeLinkableCache, getNativeLinkableExportedDepsForPlatform, getNativeLinkableInput, getNativeLinkTarget, getRuleType, isPrebuiltSOForHaskellOmnibus, shouldBeLinkedInAppleTestAndHost, supportsOmnibusLinking, supportsOmnibusLinkingForHaskellgetBuildTargetcompareTo, getFullyQualifiedName, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecutionpublic PrebuiltAppleFramework(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, ActionGraphBuilder graphBuilder, SourcePath frameworkPath, NativeLinkableGroup.Linkage preferredLinkage, com.google.common.collect.ImmutableSet<FrameworkPath> frameworks, Optional<Pattern> supportedPlatformsRegex, java.util.function.Function<? super CxxPlatform,com.google.common.collect.ImmutableList<String>> exportedLinkerFlags, FlavorDomain<UnresolvedAppleCxxPlatform> applePlatformFlavorDomain)
public boolean isCacheable()
BuildRuleBuildRule can be cached.
Uncached build rules are never written out to cache, never read from cache, and does not count in cache statistics. This rule is useful for artifacts which cannot be easily normalized.
Uncached rules are not always rebuilt, however, as long as the existing on-disk
representation is up to date. This means that these rules can take advantage of SupportsInputBasedRuleKey to prevent rebuilding.
isCacheable in interface BuildEngineActionisCacheable in interface BuildRuleisCacheable in class AbstractBuildRulepublic com.google.common.collect.ImmutableList<Step> getBuildSteps(BuildContext context, BuildableContext buildableContext)
getBuildSteps in interface BuildRulepublic SourcePath getSourcePathToOutput()
getSourcePathToOutput in interface BuildRulepublic String getOutputName(OutputLabel outputLabel)
HasOutputNamegetOutputName in interface HasOutputNamepublic PlatformLockedNativeLinkableGroup.Cache getNativeLinkableCompatibilityCache()
getNativeLinkableCompatibilityCache in interface LegacyNativeLinkableGrouppublic Iterable<CxxPreprocessorDep> getCxxPreprocessorDeps(CxxPlatform cxxPlatform, BuildRuleResolver ruleResolver)
getCxxPreprocessorDeps in interface CxxPreprocessorDeppublic CxxPreprocessorInput getCxxPreprocessorInput(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
CxxPreprocessorDepgetCxxPreprocessorInput in interface CxxPreprocessorDeppublic com.google.common.collect.ImmutableMap<BuildTarget,CxxPreprocessorInput> getTransitiveCxxPreprocessorInput(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
CxxPreprocessorDepgetTransitiveCxxPreprocessorInput in interface CxxPreprocessorDeppublic Iterable<NativeLinkableGroup> getNativeLinkableDeps(BuildRuleResolver ruleResolver)
getNativeLinkableDeps in interface LegacyNativeLinkableGrouppublic Iterable<NativeLinkableGroup> getNativeLinkableDepsForPlatform(CxxPlatform cxxPlatform, BuildRuleResolver ruleResolver)
getNativeLinkableDepsForPlatform in interface LegacyNativeLinkableGrouppublic Iterable<? extends NativeLinkableGroup> getNativeLinkableExportedDeps(BuildRuleResolver ruleResolver)
getNativeLinkableExportedDeps in interface LegacyNativeLinkableGrouppublic NativeLinkableInput getNativeLinkableInput(CxxPlatform cxxPlatform, Linker.LinkableDepType type, boolean forceLinkWhole, ActionGraphBuilder graphBuilder, TargetConfiguration targetConfiguration)
LegacyNativeLinkableGroupgetNativeLinkableInput in interface LegacyNativeLinkableGrouppublic NativeLinkableGroup.Linkage getPreferredLinkage(CxxPlatform cxxPlatform)
getPreferredLinkage in interface LegacyNativeLinkableGrouppublic com.google.common.collect.ImmutableMap<String,SourcePath> getSharedLibraries(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
getSharedLibraries in interface LegacyNativeLinkableGroupCxxPlatform.