public class DummyRDotJava extends AbstractBuildRule implements SupportsInputBasedRuleKey, InitializableFromDisk<Object>, HasJavaAbi
HasAndroidResourceDeps
and for each of these rules,
first creates an R.java
file using MergeAndroidResourcesStep
and compiles it to
generate a corresponding R.class
file. These are called "dummy" R.java
files
since these are later merged together into a single R.java
file by AaptStep
.Constructor and Description |
---|
DummyRDotJava(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
SourcePathRuleFinder ruleFinder,
Set<HasAndroidResourceDeps> androidResourceDeps,
JavacToJarStepFactory compileStepFactory,
boolean forceFinalResourceIds,
Optional<String> unionPackage,
Optional<String> finalRName,
boolean useOldStyleableFormat,
boolean skipNonUnionRDotJava) |
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
getSourceOnlyAbiJar
public DummyRDotJava(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, SourcePathRuleFinder ruleFinder, Set<HasAndroidResourceDeps> androidResourceDeps, JavacToJarStepFactory compileStepFactory, boolean forceFinalResourceIds, Optional<String> unionPackage, Optional<String> finalRName, boolean useOldStyleableFormat, boolean skipNonUnionRDotJava)
public com.google.common.collect.ImmutableSortedSet<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
public void invalidateInitializeFromDiskState()
invalidateInitializeFromDiskState
in interface InitializableFromDisk<Object>
public Object initializeFromDisk(SourcePathResolverAdapter pathResolver) throws IOException
initializeFromDisk
in interface InitializableFromDisk<Object>
IOException
public BuildOutputInitializer<Object> getBuildOutputInitializer()
getBuildOutputInitializer
in interface InitializableFromDisk<Object>
public static Path getRDotJavaSrcFolder(BuildTarget buildTarget, ProjectFilesystem filesystem)
public static Path getRDotJavaBinFolder(BuildTarget buildTarget, ProjectFilesystem filesystem)
public static Path getPathToOutputDir(BuildTarget buildTarget, ProjectFilesystem filesystem)
public static Path getOutputJarPath(BuildTarget buildTarget, ProjectFilesystem filesystem)
public SourcePath getSourcePathToOutput()
getSourcePathToOutput
in interface BuildRule
public JavaAbiInfo getAbiInfo()
getAbiInfo
in interface HasJavaAbi
public Optional<BuildTarget> getAbiJar()
getAbiJar
in interface HasJavaAbi
SourcePath
representing the ABI Jar for this rule.public Path getRDotJavaBinFolder()
public com.google.common.collect.ImmutableList<HasAndroidResourceDeps> getAndroidResourceDeps()