aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android
diff options
context:
space:
mode:
authorGravatar asteinb <asteinb@google.com>2018-07-17 10:30:22 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-17 10:32:14 -0700
commit71cb4747be1056aad21336044e3da3cd039ab4bf (patch)
tree301fc6b27f4191264feb35cdd16b0b858c5d2d4c /src/main/java/com/google/devtools/build/lib/rules/android
parentff5fe3cb41d39d552840cee8a79ccd1d1126a694 (diff)
Default to doing decoupled data processing in Android configuration
Also, fix a few NPEs this apparently exposes by having android_test and android_binary mobile_install explicitly specify merged resources. RELNOTES: none PiperOrigin-RevId: 204933164
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/ProcessedAndroidData.java6
3 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java
index b344411ba8..88877f93ec 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinaryMobileInstall.java
@@ -78,6 +78,7 @@ public final class AndroidBinaryMobileInstall {
manifest.addMobileInstallStubApplication(ruleContext),
ruleContext.getImplicitOutputArtifact(
AndroidRuleClasses.ANDROID_INCREMENTAL_RESOURCES_APK),
+ getMobileInstallArtifact(ruleContext, "merged_incremental_resources.bin"),
"incremental",
applicationManifest.getManifestValues())
// Intentionally skip building an R class JAR - incremental binaries handle this
@@ -90,6 +91,7 @@ public final class AndroidBinaryMobileInstall {
dataContext,
manifest.createSplitManifest(ruleContext, "android_resources", false),
getMobileInstallArtifact(ruleContext, "android_resources.ap_"),
+ getMobileInstallArtifact(ruleContext, "merged_split_resources.bin"),
"incremental_split",
applicationManifest.getManifestValues())
// Intentionally skip building an R class JAR - incremental binaries handle this
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index 734f96e0c2..00134a7ca2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -803,7 +803,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment
@Option(
name = "android_decouple_data_processing",
- defaultValue = "false",
+ defaultValue = "true",
documentationCategory = OptionDocumentationCategory.UNDOCUMENTED,
effectTags = {
OptionEffectTag.BAZEL_INTERNAL_CONFIGURATION,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ProcessedAndroidData.java b/src/main/java/com/google/devtools/build/lib/rules/android/ProcessedAndroidData.java
index 0a1871051a..484d29649d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/ProcessedAndroidData.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/ProcessedAndroidData.java
@@ -113,13 +113,15 @@ public class ProcessedAndroidData {
AndroidDataContext dataContext,
StampedAndroidManifest manifest,
Artifact apkOut,
+ Artifact mergedResourcesOut,
String proguardPrefix,
Map<String, String> manifestValues)
throws RuleErrorException {
AndroidResourcesProcessorBuilder builder =
builderForTopLevelTarget(dataContext, manifest, proguardPrefix, manifestValues)
- .setApkOut(apkOut);
+ .setApkOut(apkOut)
+ .setMergedResourcesOut(mergedResourcesOut);
return buildActionForBinary(
dataContext,
@@ -208,6 +210,8 @@ public class ProcessedAndroidData {
AndroidResourcesProcessorBuilder builder =
builderForNonIncrementalTopLevelTarget(
dataContext, manifest, ImmutableMap.of(), aaptVersion)
+ .setMergedResourcesOut(
+ dataContext.createOutputArtifact(AndroidRuleClasses.ANDROID_RESOURCES_ZIP))
.setMainDexProguardOut(
AndroidBinary.createMainDexProguardSpec(
dataContext.getLabel(), dataContext.getActionConstructionContext()))