aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
index 9ce263170d..8b6775b44b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ApplicationManifest.java
@@ -348,7 +348,16 @@ public final class ApplicationManifest {
}
ResourceContainer processed = builder.build(ruleContext);
- return ResourceApk.of(processed, resourceDeps, proguardCfg, mainDexProguardCfg);
+ ResourceContainer finalContainer =
+ new RClassGeneratorActionBuilder(ruleContext)
+ .targetAaptVersion(AndroidAaptVersion.chooseTargetAaptVersion(ruleContext))
+ .withDependencies(resourceDeps)
+ .setClassJarOut(
+ ruleContext.getImplicitOutputArtifact(
+ AndroidRuleClasses.ANDROID_RESOURCES_CLASS_JAR))
+ .build(processed);
+
+ return ResourceApk.of(finalContainer, resourceDeps, proguardCfg, mainDexProguardCfg);
}
/** Packages up the manifest with resource and assets from the LocalResourceContainer. */
@@ -467,6 +476,8 @@ public final class ApplicationManifest {
.setPackageUnderTest(null)
.build(ruleContext);
+ // Intentionally skip building an R class JAR - incremental binaries handle this separately.
+
return ResourceApk.of(processed, resourceDeps, proguardCfg, null);
}
@@ -548,7 +559,16 @@ public final class ApplicationManifest {
.setSourceJarOut(resourceContainer.getJavaSourceJar())
.build(ruleContext);
- return ResourceApk.of(processed, resourceDeps, proguardCfg, mainDexProguardCfg);
+ ResourceContainer finalContainer =
+ new RClassGeneratorActionBuilder(ruleContext)
+ .targetAaptVersion(AndroidAaptVersion.chooseTargetAaptVersion(ruleContext))
+ .withDependencies(resourceDeps)
+ .setClassJarOut(
+ ruleContext.getImplicitOutputArtifact(
+ AndroidRuleClasses.ANDROID_RESOURCES_CLASS_JAR))
+ .build(processed);
+
+ return ResourceApk.of(finalContainer, resourceDeps, proguardCfg, mainDexProguardCfg);
}
public ResourceApk packLibraryWithDataAndResources(