diff options
11 files changed, 27 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java index 5c737851a4..56ab7bfcf2 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceMergingActionBuilder.java @@ -17,6 +17,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.ActionConstructionContext; @@ -156,6 +157,7 @@ class AndroidResourceMergingActionBuilder { // Create the spawn action. ruleContext.registerAction( spawnActionBuilder + .useParameterFile(ParameterFileType.UNQUOTED) .addTransitiveInputs(inputs.build()) .addOutputs(ImmutableList.copyOf(outs)) .setCommandLine(builder.build()) diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java index 024fb104b6..0d86acf744 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceParsingActionBuilder.java @@ -20,6 +20,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.ActionConstructionContext; @@ -130,6 +131,7 @@ public class AndroidResourceParsingActionBuilder { // Create the spawn action. ruleContext.registerAction( spawnActionBuilder + .useParameterFile(ParameterFileType.UNQUOTED) .addTransitiveInputs(inputs.build()) .addOutputs(ImmutableList.copyOf(outs)) .setCommandLine(builder.build()) diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java index 3419076a2c..ce8df5f9fc 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourceValidatorActionBuilder.java @@ -17,6 +17,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.ActionConstructionContext; @@ -139,6 +140,7 @@ class AndroidResourceValidatorActionBuilder { // Create the spawn action. ruleContext.registerAction( spawnActionBuilder + .useParameterFile(ParameterFileType.UNQUOTED) .addTool(sdk.getAapt()) .addTransitiveInputs(inputs.build()) .addOutputs(ImmutableList.copyOf(outs)) diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java index 74d78fa148..81cec62e5d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.rules.android; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.ActionConstructionContext; @@ -310,6 +311,7 @@ public class AndroidResourcesProcessorBuilder { // Create the spawn action. ruleContext.registerAction( this.spawnActionBuilder + .useParameterFile(ParameterFileType.UNQUOTED) .addTool(sdk.getAapt()) .addTransitiveInputs(inputs.build()) .addOutputs(ImmutableList.<Artifact>copyOf(outs)) diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java index 4d56a06f11..f9597c4a57 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java @@ -132,6 +132,7 @@ public class RClassGeneratorActionBuilder { SpawnAction.Builder spawnActionBuilder = new SpawnAction.Builder(); ruleContext.registerAction( spawnActionBuilder + .useParameterFile(ParameterFileType.UNQUOTED) .addTransitiveInputs(inputs.build()) .addOutputs(ImmutableList.<Artifact>copyOf(outs)) .useParameterFile(ParameterFileType.SHELL_QUOTED) diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java index e0bd44dd19..f11ebbdf18 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java @@ -32,6 +32,7 @@ import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import java.io.File; import java.io.IOException; +import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.List; import java.util.concurrent.TimeUnit; @@ -151,6 +152,7 @@ public class AndroidResourceMergingAction { final Stopwatch timer = Stopwatch.createStarted(); OptionsParser optionsParser = OptionsParser.newOptionsParser(Options.class, AaptConfigOptions.class); + optionsParser.enableParamsFileSupport(FileSystems.getDefault()); optionsParser.parseAndExitUponError(args); AaptConfigOptions aaptConfigOptions = optionsParser.getOptions(AaptConfigOptions.class); Options options = optionsParser.getOptions(Options.class); diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceParsingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceParsingAction.java index 65ff00aadf..ef7c9ffdda 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceParsingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceParsingAction.java @@ -21,6 +21,7 @@ import com.google.devtools.build.android.Converters.UnvalidatedAndroidDirectorie import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; +import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; @@ -58,6 +59,7 @@ public class AndroidResourceParsingAction { public static void main(String[] args) throws Exception { OptionsParser optionsParser = OptionsParser.newOptionsParser(Options.class); + optionsParser.enableParamsFileSupport(FileSystems.getDefault()); optionsParser.parseAndExitUponError(args); Options options = optionsParser.getOptions(Options.class); diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java index a758147973..1001cb578f 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java @@ -36,6 +36,7 @@ import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.TriState; import java.io.IOException; +import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.List; import java.util.concurrent.TimeUnit; @@ -211,6 +212,7 @@ public class AndroidResourceProcessingAction { final Stopwatch timer = Stopwatch.createStarted(); OptionsParser optionsParser = OptionsParser.newOptionsParser( Options.class, AaptConfigOptions.class); + optionsParser.enableParamsFileSupport(FileSystems.getDefault()); optionsParser.parseAndExitUponError(args); aaptConfigOptions = optionsParser.getOptions(AaptConfigOptions.class); options = optionsParser.getOptions(Options.class); diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceValidatorAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceValidatorAction.java index e0c9297e43..f05012ba24 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceValidatorAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceValidatorAction.java @@ -29,6 +29,7 @@ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.util.concurrent.TimeUnit; @@ -99,6 +100,7 @@ public class AndroidResourceValidatorAction { final Stopwatch timer = Stopwatch.createStarted(); OptionsParser optionsParser = OptionsParser.newOptionsParser(Options.class, AaptConfigOptions.class); + optionsParser.enableParamsFileSupport(FileSystems.getDefault()); optionsParser.parseAndExitUponError(args); AaptConfigOptions aaptConfigOptions = optionsParser.getOptions(AaptConfigOptions.class); Options options = optionsParser.getOptions(Options.class); diff --git a/src/tools/android/java/com/google/devtools/build/android/LibraryRClassGeneratorAction.java b/src/tools/android/java/com/google/devtools/build/android/LibraryRClassGeneratorAction.java index 941c98cac7..59a200443f 100644 --- a/src/tools/android/java/com/google/devtools/build/android/LibraryRClassGeneratorAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/LibraryRClassGeneratorAction.java @@ -24,6 +24,7 @@ import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import java.io.IOException; +import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.List; import java.util.concurrent.TimeUnit; @@ -77,6 +78,7 @@ public class LibraryRClassGeneratorAction { final Stopwatch timer = Stopwatch.createStarted(); OptionsParser optionsParser = OptionsParser.newOptionsParser(Options.class, AaptConfigOptions.class); + optionsParser.enableParamsFileSupport(FileSystems.getDefault()); optionsParser.parseAndExitUponError(args); AaptConfigOptions aaptConfigOptions = optionsParser.getOptions(AaptConfigOptions.class); Options options = optionsParser.getOptions(Options.class); diff --git a/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java b/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java index 76e8496221..18baf65393 100644 --- a/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/RClassGeneratorAction.java @@ -27,6 +27,7 @@ import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; import java.nio.charset.StandardCharsets; +import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -57,7 +58,7 @@ public class RClassGeneratorAction { private static final StdLogger STD_LOGGER = new StdLogger(StdLogger.Level.WARNING); - private static final Logger LOGGER = Logger.getLogger(RClassGeneratorAction.class.getName()); + private static final Logger logger = Logger.getLogger(RClassGeneratorAction.class.getName()); /** * Flag specifications for this action. @@ -104,6 +105,7 @@ public class RClassGeneratorAction { public static void main(String[] args) throws Exception { final Stopwatch timer = Stopwatch.createStarted(); OptionsParser optionsParser = OptionsParser.newOptionsParser(Options.class); + optionsParser.enableParamsFileSupport(FileSystems.getDefault()); if (args.length == 1 && args[0].startsWith("@")) { args = Files.readAllLines(Paths.get(args[0].substring(1)), StandardCharsets.UTF_8) .toArray(new String[0]); @@ -118,7 +120,7 @@ public class RClassGeneratorAction { Path tmp = scopedTmp.getPath(); Path classOutPath = tmp.resolve("compiled_classes"); - LOGGER.fine(String.format("Setup finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); + logger.fine(String.format("Setup finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); List<SymbolFileProvider> libraries = new ArrayList<>(); for (DependencySymbolFileProvider library : options.libraries) { libraries.add(library); @@ -134,13 +136,13 @@ public class RClassGeneratorAction { Multimap<String, SymbolLoader> libSymbolMap = ArrayListMultimap.create(); SymbolLoader fullSymbolValues = resourceProcessor.loadResourceSymbolTable( libraries, appPackageName, options.primaryRTxt, libSymbolMap); - LOGGER.fine( + logger.fine( String.format("Load symbols finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); // For now, assuming not used for libraries and setting final access for fields. if (fullSymbolValues != null) { resourceProcessor.writePackageRClasses(libSymbolMap, fullSymbolValues, appPackageName, classOutPath, true /* finalFields */); - LOGGER.fine( + logger.fine( String.format("Finished R.class at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); } } else { @@ -149,11 +151,11 @@ public class RClassGeneratorAction { // We write .class files to temp, then jar them up after (we create a dummy jar, even if // there are no class files). resourceProcessor.createClassJar(classOutPath, options.classJarOutput); - LOGGER.fine( + logger.fine( String.format("createClassJar finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); } finally { resourceProcessor.shutdown(); } - LOGGER.fine(String.format("Compile action done in %sms", timer.elapsed(TimeUnit.MILLISECONDS))); + logger.fine(String.format("Compile action done in %sms", timer.elapsed(TimeUnit.MILLISECONDS))); } } |