diff options
author | Lukacs Berki <lberki@google.com> | 2015-05-21 08:43:30 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2015-05-21 09:51:48 +0000 |
commit | c4fe4ff1df7e13a5fa330fe5a6aac5aaba11ebb9 (patch) | |
tree | b86e2213598face23cf0aa1a2e3a718dd3a4cef4 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java | |
parent | 4eefe3d827510595f22be58c4ada1064d460ce5a (diff) |
Add the contents of the main_dex_list attribute to the command line of the main_dex_list binary when android_sdk is used.
--
MOS_MIGRATED_REVID=94167520
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java index b7a057dc0c..5e57c27e04 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java @@ -249,12 +249,17 @@ public class AndroidTools { * its executable already set to invoke the main dex list creator. */ public Action[] mainDexListAction(Artifact jar, Artifact strippedJar, Artifact mainDexList) { + SpawnAction.Builder builder = new SpawnAction.Builder() + .setMnemonic("MainDexClasses") + .setProgressMessage("Generating main dex classes list"); + if (androidSdk != null) { - return new SpawnAction.Builder() + return builder .setExecutable(androidSdk.getMainDexListCreator()) .addOutputArgument(mainDexList) .addInputArgument(strippedJar) .addInputArgument(jar) + .addArguments(ruleContext.getTokenizedStringListAttr("main_dex_list_opts")) .build(ruleContext); } else { StringBuilder shellCommandBuilder = new StringBuilder() @@ -270,14 +275,12 @@ public class AndroidTools { .append(" ").append(jar.getExecPathString()) .append(" >").append(mainDexList.getExecPathString()); - return new SpawnAction.Builder() + return builder .addInput(strippedJar) .addInput(jar) .addInput(dxJar) .addTransitiveInputs(BaseJavaCompilationHelper.getHostJavabaseInputs(ruleContext)) .addOutput(mainDexList) - .setProgressMessage("Generating main dex classes list") - .setMnemonic("MainDexClasses") .setShellCommand(shellCommandBuilder.toString()) .build(ruleContext); } |