public class CopyNativeLibraries extends AbstractBuildRule implements SupportsInputBasedRuleKey
BuildRule
that gathers shared objects generated by ndk_library
and prebuilt_native_library
rules into a directory. It also hashes the shared objects collected and
stores this metadata in a text file, to be used later by ExopackageInstaller
.Modifier and Type | Class and Description |
---|---|
static class |
CopyNativeLibraries.StrippedObjectDescription |
Modifier | Constructor and Description |
---|---|
protected |
CopyNativeLibraries(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
SourcePathRuleFinder ruleFinder,
com.google.common.collect.ImmutableSet<CopyNativeLibraries.StrippedObjectDescription> strippedLibs,
com.google.common.collect.ImmutableSet<CopyNativeLibraries.StrippedObjectDescription> strippedLibsAssets,
com.google.common.collect.ImmutableSet<SourcePath> nativeLibDirectories,
com.google.common.collect.ImmutableSet<SourcePath> nativeLibAssetDirectories,
com.google.common.collect.ImmutableSet<TargetCpuType> cpuFilters,
String moduleName) |
Modifier and Type | Method and Description |
---|---|
SortedSet<BuildRule> |
getBuildDeps() |
com.google.common.collect.ImmutableList<Step> |
getBuildSteps(BuildContext context,
BuildableContext buildableContext) |
SourcePath |
getSourcePathToOutput() |
equals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, isCacheable, toString, updateBuildRuleResolver
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
inputBasedRuleKeyIsEnabled, isSupported
compareTo, getBuildTarget, getFullyQualifiedName, getProjectFilesystem, hasBuildSteps, isCacheable, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution, toString, updateBuildRuleResolver
getDependencies, getSourcePathOutputs
getType
protected CopyNativeLibraries(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, SourcePathRuleFinder ruleFinder, com.google.common.collect.ImmutableSet<CopyNativeLibraries.StrippedObjectDescription> strippedLibs, com.google.common.collect.ImmutableSet<CopyNativeLibraries.StrippedObjectDescription> strippedLibsAssets, com.google.common.collect.ImmutableSet<SourcePath> nativeLibDirectories, com.google.common.collect.ImmutableSet<SourcePath> nativeLibAssetDirectories, com.google.common.collect.ImmutableSet<TargetCpuType> cpuFilters, String moduleName)
public SortedSet<BuildRule> getBuildDeps()
getBuildDeps
in interface BuildRule
deps
argument for this build rule in the build file in which it was defined.
However, there are special cases where other arguments pull in implicit dependencies
(e.g., the keystore
argument in android_binary
). In these cases, the
implicit dependencies are also included in the set returned by this method. The value of
the original deps
argument, as defined in the build file, must be accessed via a
custom getter provided by the build rule.
public com.google.common.collect.ImmutableList<Step> getBuildSteps(BuildContext context, BuildableContext buildableContext)
getBuildSteps
in interface BuildRule
@Nullable public SourcePath getSourcePathToOutput()
getSourcePathToOutput
in interface BuildRule