diff options
author | asteinb <asteinb@google.com> | 2018-04-18 06:06:25 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-18 06:07:48 -0700 |
commit | 5938de7e9ecb41e17e6fa5cf91a911c626862c45 (patch) | |
tree | 5a214294b143e56f40e0a331e6ec94aad0c2cb96 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java | |
parent | fa36d2f48965b127e8fd397348d16e991135bfb6 (diff) |
Clean up R class generation
Remove R class generation from AndroidCommon and instead invoke it just after
resource processing. This is much more intuitive, behaves the same, and will
make it easier to call into R class generation on the new pipeline.
Also, clean up some dead code (including newly-dead code) from AndroidCommon.
RELNOTES: none
PiperOrigin-RevId: 193345190
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java index ca7f4b4943..d3e3793261 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java @@ -14,7 +14,6 @@ package com.google.devtools.build.lib.rules.android; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException; @@ -36,7 +35,6 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.packages.BuildType; -import com.google.devtools.build.lib.rules.android.AndroidConfiguration.AndroidAaptVersion; import com.google.devtools.build.lib.rules.java.ClasspathConfiguredFragment; import com.google.devtools.build.lib.rules.java.JavaCommon; import com.google.devtools.build.lib.rules.java.JavaCompilationArgs; @@ -102,8 +100,6 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor String resourcesLocation = resourcesZip.getRunfilesPathString(); // Create the final merged R class - Artifact resourcesClassJar = - ruleContext.getImplicitOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_CLASS_JAR); ResourceApk resourceApk = applicationManifest.packBinaryWithDataAndResources( ruleContext, @@ -121,8 +117,7 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor DataBinding.isEnabled(ruleContext) ? DataBinding.getLayoutInfoFile(ruleContext) : null, null, /* featureOfArtifact */ null /* featureAfterArtifact */); - compileResourceJar(ruleContext, resourceApk, resourcesClassJar); - attributesBuilder.addRuntimeClassPathEntry(resourcesClassJar); + attributesBuilder.addRuntimeClassPathEntry(resourceApk.getResourceJavaClassJar()); // Exclude the Rs from the library from the runtime classpath. NestedSet<Artifact> excludedRuntimeArtifacts = getLibraryResourceJars(ruleContext); @@ -299,7 +294,7 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor javaCommon, filesToBuild, manifest, - resourcesClassJar, + resourceApk.getResourceJavaClassJar(), resourcesZip, generateBinaryResources ? resourceApk : null); @@ -364,22 +359,6 @@ public abstract class AndroidLocalTestBase implements RuleConfiguredTargetFactor .build(); } - /** Creates the final merged R class with all of the transitive resources. */ - private void compileResourceJar( - RuleContext ruleContext, ResourceApk resourceApk, Artifact resourceClassJar) - throws InterruptedException, RuleErrorException { - if (resourceApk.getResourceJavaClassJar() == null) { - new RClassGeneratorActionBuilder(ruleContext) - .targetAaptVersion(AndroidAaptVersion.chooseTargetAaptVersion(ruleContext)) - .withPrimary(resourceApk.getPrimaryResources()) - .withDependencies(resourceApk.getResourceDependencies()) - .setClassJarOut(resourceClassJar) - .build(); - } else { - Preconditions.checkArgument(resourceApk.getResourceJavaClassJar().equals(resourceClassJar)); - } - } - /** * Returns a merged {@link ApplicationManifest} for the rule. The final merged manifest will be * merged into the manifest provided on the rule, or into a placeholder manifest if one is not |