diff options
author | Googler <noreply@google.com> | 2016-06-10 22:07:44 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-06-13 08:11:17 +0000 |
commit | 82e992e7ada86b937cd76367a959b041962370e5 (patch) | |
tree | 0614fe14d7ce0e2b0b1d45ebd20b856aa0670b9d /src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java | |
parent | 6f162c8476ba1ca6a2bb8242ac5980e5adcd4ebd (diff) |
Add addMainDexListActionArguments to AndroidSemantics.
--
MOS_MIGRATED_REVID=124602618
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java | 13 |
1 files changed, 11 insertions, 2 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 e31c1bb90d..e36b28d2e3 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 @@ -405,6 +405,7 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { ? dexWithJack(ruleContext, androidCommon, proguardSpecs) : dex( ruleContext, + androidSemantics, binaryJar, jarToDex, isBinaryJarFiltered, @@ -1052,6 +1053,7 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { /** Creates one or more classes.dex files that correspond to {@code proguardedJar}. */ private static DexingOutput dex( RuleContext ruleContext, + AndroidSemantics androidSemantics, Artifact binaryJar, Artifact proguardedJar, boolean isBinaryJarFiltered, @@ -1111,7 +1113,8 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { if (multidexMode == MultidexMode.LEGACY) { // For legacy multidex, we need to generate a list for the dexer's --main-dex-list flag. - mainDexList = createMainDexListAction(ruleContext, proguardedJar, mainDexProguardSpec); + mainDexList = createMainDexListAction( + ruleContext, androidSemantics, proguardedJar, mainDexProguardSpec); } Artifact classesDex = getDxArtifact(ruleContext, "classes.dex.zip"); @@ -1394,7 +1397,11 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { * Returns the file containing the list. */ static Artifact createMainDexListAction( - RuleContext ruleContext, Artifact jar, @Nullable Artifact mainDexProguardSpec) { + RuleContext ruleContext, + AndroidSemantics androidSemantics, + Artifact jar, + @Nullable Artifact mainDexProguardSpec) + throws InterruptedException { // Process the input jar through Proguard into an intermediate, streamlined jar. Artifact strippedJar = AndroidBinary.getDxArtifact(ruleContext, "main_dex_intermediate.jar"); AndroidSdkProvider sdk = AndroidSdkProvider.fromRuleContext(ruleContext); @@ -1431,6 +1438,8 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { streamlinedBuilder.addInputArgument(spec); } + androidSemantics.addMainDexListActionArguments(ruleContext, streamlinedBuilder); + ruleContext.registerAction(streamlinedBuilder.build(ruleContext)); // Create the main dex classes list. |