aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar ahumesky <ahumesky@google.com>2018-03-26 13:36:22 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-26 13:38:59 -0700
commit848e78623fb418381e2982e00b7a3021e6c312f0 (patch)
treedb7c26d8ed1002e93042ff1ec9196f88ad561d84 /src
parent7a45873dcdebc3e78cc7f26402d533ef9101106b (diff)
Enable params files for DexMapper.
RELNOTES: None PiperOrigin-RevId: 190516662
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java4
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java14
2 files changed, 13 insertions, 5 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 44a171ae27..2d1c5e9e5e 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
@@ -34,6 +34,7 @@ import com.google.devtools.build.lib.actions.FailAction;
import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
import com.google.devtools.build.lib.actions.ParamFileInfo;
import com.google.devtools.build.lib.actions.ParameterFile;
+import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.FileProvider;
import com.google.devtools.build.lib.analysis.FilesToRunProvider;
@@ -1490,7 +1491,8 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory {
}
}
- shardAction.addCommandLine(shardCommandLine.build());
+ shardAction.addCommandLine(
+ shardCommandLine.build(), ParamFileInfo.builder(ParameterFileType.SHELL_QUOTED).build());
ruleContext.registerAction(shardAction.build(ruleContext));
if (makeDexArchives && proguardedJar != null) {
diff --git a/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java b/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java
index cbb0e80fa7..d143eb276d 100644
--- a/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java
+++ b/src/tools/android/java/com/google/devtools/build/android/ziputils/DexMapper.java
@@ -19,8 +19,10 @@ import com.google.common.base.Predicates;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionEffectTag;
-import com.google.devtools.common.options.Options;
import com.google.devtools.common.options.OptionsBase;
+import com.google.devtools.common.options.OptionsParser;
+import com.google.devtools.common.options.ShellQuotedParamsFilePreProcessor;
+import java.nio.file.FileSystems;
import java.util.List;
/**
@@ -36,9 +38,13 @@ public class DexMapper {
* @param args the command line arguments
*/
public static void main(String[] args) {
- DexMapperOptions options =
- Options.parseAndExitUponError(DexMapperOptions.class, /*allowResidue=*/ true, args)
- .getOptions();
+
+ OptionsParser parser = OptionsParser.newOptionsParser(DexMapperOptions.class);
+ parser.setAllowResidue(true);
+ parser.enableParamsFileSupport(new ShellQuotedParamsFilePreProcessor(FileSystems.getDefault()));
+ parser.parseAndExitUponError(args);
+ DexMapperOptions options = parser.getOptions(DexMapperOptions.class);
+
List<String> inputs = options.inputJars;
List<String> outputs = options.outputJars;
String filterFile = options.mainDexFilter;