aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2015-05-21 08:43:30 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-05-21 09:51:48 +0000
commitc4fe4ff1df7e13a5fa330fe5a6aac5aaba11ebb9 (patch)
treeb86e2213598face23cf0aa1a2e3a718dd3a4cef4 /src/main/java/com/google/devtools/build/lib/rules/android/AndroidTools.java
parent4eefe3d827510595f22be58c4ada1064d460ce5a (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.java11
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);
}