aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
diff options
context:
space:
mode:
authorGravatar asteinb <asteinb@google.com>2018-04-18 06:06:25 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-18 06:07:48 -0700
commit5938de7e9ecb41e17e6fa5cf91a911c626862c45 (patch)
tree5a214294b143e56f40e0a331e6ec94aad0c2cb96 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java
parentfa36d2f48965b127e8fd397348d16e991135bfb6 (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.java25
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