public static class PrebuiltCxxLibraryGroupDescription.CustomPrebuiltCxxLibrary extends NoopBuildRuleWithDeclaredAndExtraDeps implements AbstractCxxLibraryGroup, LegacyNativeLinkableGroup
NativeLinkableGroup.Linkage| Constructor and Description |
|---|
CustomPrebuiltCxxLibrary(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
BuildRuleParams params,
PrebuiltCxxLibraryGroupDescriptionArg args) |
getBuildSteps, getSourcePathToOutput, hasBuildSteps, isCacheabledeprecatedGetExtraDeps, getBuildDeps, getDeclaredDeps, getTargetGraphOnlyDepsequals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hashCode, injectFields, toString, updateBuildRuleResolverclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetBuildTargetforceLinkWholeForHaskellOmnibus, getExportedLinkerFlags, getExportedPostLinkerFlags, getNativeLinkable, getNativeLinkableCache, getNativeLinkableInput, getNativeLinkTarget, getRuleType, shouldBeLinkedInAppleTestAndHost, supportsOmnibusLinkingForHaskellgetBuildTargetcompareTo, getFullyQualifiedName, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecutionpublic CustomPrebuiltCxxLibrary(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, PrebuiltCxxLibraryGroupDescriptionArg args)
public boolean isPrebuiltSOForHaskellOmnibus(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
LegacyNativeLinkableGroupisPrebuiltSOForHaskellOmnibus in interface LegacyNativeLinkableGrouppublic PlatformLockedNativeLinkableGroup.Cache getNativeLinkableCompatibilityCache()
getNativeLinkableCompatibilityCache in interface LegacyNativeLinkableGrouppublic Iterable<AndroidPackageable> getRequiredPackageables(BuildRuleResolver ruleResolver)
AndroidPackageableFor example, an android_library will need all of its Java deps (except provided_deps), its resource deps, and its native library deps (even though it doesn't need the native library as a build-time dependency). An android_resource might need an android_library that declares a custom view that it references, as well as other android_resource rules that it references directly.
TODO(natthu): Once build rules and buildables are merged, replace this method with another
interface that lets an AndroidPackageable override the default set which is all deps of
the type AndroidPackageable.
getRequiredPackageables in interface AndroidPackageableAndroidPackageables that must be included along with this one.public void addToCollector(AndroidPackageableCollector collector)
AndroidPackageableImplementations should call methods on the collector specify what concrete content must be included in an Android package that includes this object. For example, an android_library will add Java classes, an ndk_library will add native libraries, and android_resource will add resource directories.
addToCollector in interface AndroidPackageablecollector - The AndroidPackageableCollector that will receive the content.public 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<? extends NativeLinkableGroup> getNativeLinkableDeps(BuildRuleResolver ruleResolver)
getNativeLinkableDeps 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 boolean supportsOmnibusLinking(CxxPlatform cxxPlatform)
supportsOmnibusLinking in interface LegacyNativeLinkableGroupNativeLinkableGroup supports omnibus linking.public Iterable<? extends NativeLinkableGroup> getNativeLinkableDepsForPlatform(CxxPlatform cxxPlatform, BuildRuleResolver ruleResolver)
getNativeLinkableDepsForPlatform in interface LegacyNativeLinkableGrouppublic Iterable<? extends NativeLinkableGroup> getNativeLinkableExportedDepsForPlatform(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
getNativeLinkableExportedDepsForPlatform in interface LegacyNativeLinkableGrouppublic com.google.common.collect.ImmutableMap<String,SourcePath> getSharedLibraries(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
getSharedLibraries in interface LegacyNativeLinkableGroupCxxPlatform.