aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-03-15 18:58:53 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-03-15 20:30:54 +0000
commit73476e9bd5323b12c947dfeee3647d3eca765f79 (patch)
tree15615ab0d98dd8e8f2a181fef53826e50285443d /src/main/java/com/google/devtools/build/lib
parent90aef6dc74d541d09f23b47416b8ee93ce517488 (diff)
Make manual multidex incompatible with .dex sharding.
-- MOS_MIGRATED_REVID=117262661
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
index baa59b1f11..5795a4590b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java
@@ -972,9 +972,16 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
}
int dexShards = ruleContext.attributes().get("dex_shards", Type.INTEGER);
- if (dexShards > 1 && multidexMode == MultidexMode.OFF) {
- ruleContext.ruleError(".dex sharding is only available in multidex mode");
- return null;
+ if (dexShards > 1) {
+ if (multidexMode == MultidexMode.OFF) {
+ ruleContext.ruleError(".dex sharding is only available in multidex mode");
+ return null;
+ }
+
+ if (multidexMode == MultidexMode.MANUAL_MAIN_DEX) {
+ ruleContext.ruleError(".dex sharding is not available in manual multidex mode");
+ return null;
+ }
}
Artifact mainDexList = ruleContext.getPrerequisiteArtifact("main_dex_list", Mode.TARGET);