diff options
author | 2017-04-17 23:37:46 +0200 | |
---|---|---|
committer | 2017-04-18 11:33:49 +0200 | |
commit | 2eaa02e8b630ce94fff39422334c47726ead6324 (patch) | |
tree | 2c6d37b928f5375520470b4214d3e0847581f8e4 /src/tools/android/java/com/google/devtools/build/android/dexer | |
parent | 91e4dedd402c214a815eb6e2290998dec1f3d397 (diff) |
Split out option usage restriction from option category.
These are two different concepts. Do not remove category overload compatibility in this CL, to keep this change limited to converting the current uses of category.
With some flyby formatting fixes on affected OptionsBases.
RELNOTES: None.
PiperOrigin-RevId: 153390002
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/dexer')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java | 49 | ||||
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java | 103 |
2 files changed, 90 insertions, 62 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java b/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java index b22b9a6452..63f8ec4bda 100644 --- a/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java +++ b/src/tools/android/java/com/google/devtools/build/android/dexer/DexBuilder.java @@ -32,6 +32,7 @@ import com.google.devtools.build.lib.worker.WorkerProtocol.WorkResponse; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; +import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions; import com.google.devtools.common.options.OptionsParsingException; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; @@ -60,32 +61,40 @@ class DexBuilder { * Commandline options. */ public static class Options extends OptionsBase { - @Option(name = "input_jar", - defaultValue = "null", - category = "input", - converter = ExistingPathConverter.class, - abbrev = 'i', - help = "Input file to read classes and jars from.") + @Option( + name = "input_jar", + defaultValue = "null", + category = "input", + converter = ExistingPathConverter.class, + abbrev = 'i', + help = "Input file to read classes and jars from." + ) public Path inputJar; - @Option(name = "output_zip", - defaultValue = "null", - category = "output", - converter = PathConverter.class, - abbrev = 'o', - help = "Output file to write.") + @Option( + name = "output_zip", + defaultValue = "null", + category = "output", + converter = PathConverter.class, + abbrev = 'o', + help = "Output file to write." + ) public Path outputZip; - @Option(name = "max_threads", - defaultValue = "8", - category = "misc", - help = "How many threads (besides the main thread) to use at most.") + @Option( + name = "max_threads", + defaultValue = "8", + category = "misc", + help = "How many threads (besides the main thread) to use at most." + ) public int maxThreads; - @Option(name = "persistent_worker", - defaultValue = "false", - category = "hidden", - help = "Run as a Bazel persistent worker.") + @Option( + name = "persistent_worker", + defaultValue = "false", + optionUsageRestrictions = OptionUsageRestrictions.HIDDEN, + help = "Run as a Bazel persistent worker." + ) public boolean persistentWorker; } diff --git a/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java b/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java index 3841ac32d7..0a68efb110 100644 --- a/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java +++ b/src/tools/android/java/com/google/devtools/build/android/dexer/DexFileMerger.java @@ -33,6 +33,7 @@ import com.google.devtools.common.options.EnumConverter; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; +import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.InputStream; @@ -61,63 +62,81 @@ class DexFileMerger { * Commandline options. */ public static class Options extends OptionsBase { - @Option(name = "input", - defaultValue = "null", - category = "input", - converter = ExistingPathConverter.class, - abbrev = 'i', - help = "Input file to read to aggregate.") + @Option( + name = "input", + defaultValue = "null", + category = "input", + converter = ExistingPathConverter.class, + abbrev = 'i', + help = "Input file to read to aggregate." + ) public Path inputArchive; - @Option(name = "output", - defaultValue = "classes.dex.jar", - category = "output", - converter = PathConverter.class, - abbrev = 'o', - help = "Output archive to write.") + @Option( + name = "output", + defaultValue = "classes.dex.jar", + category = "output", + converter = PathConverter.class, + abbrev = 'o', + help = "Output archive to write." + ) public Path outputArchive; - @Option(name = "multidex", - defaultValue = "off", - category = "multidex", - converter = MultidexStrategyConverter.class, - help = "Allow more than one .dex file in the output.") + @Option( + name = "multidex", + defaultValue = "off", + category = "multidex", + converter = MultidexStrategyConverter.class, + help = "Allow more than one .dex file in the output." + ) public MultidexStrategy multidexMode; - @Option(name = "main-dex-list", - defaultValue = "null", - category = "multidex", - converter = ExistingPathConverter.class, - implicitRequirements = "--multidex=minimal", - help = "List of classes to be placed into \"main\" classes.dex file.") + @Option( + name = "main-dex-list", + defaultValue = "null", + category = "multidex", + converter = ExistingPathConverter.class, + implicitRequirements = "--multidex=minimal", + help = "List of classes to be placed into \"main\" classes.dex file." + ) public Path mainDexListFile; - @Option(name = "minimal-main-dex", - defaultValue = "false", - category = "multidex", - implicitRequirements = "--multidex=minimal", - help = "If true, *only* classes listed in --main_dex_list file are placed into \"main\" " - + "classes.dex file.") + @Option( + name = "minimal-main-dex", + defaultValue = "false", + category = "multidex", + implicitRequirements = "--multidex=minimal", + help = + "If true, *only* classes listed in --main_dex_list file are placed into \"main\" " + + "classes.dex file." + ) public boolean minimalMainDex; - @Option(name = "verbose", - defaultValue = "false", - category = "misc", - help = "If true, print information about the merged files and resulting files to stdout.") + @Option( + name = "verbose", + defaultValue = "false", + category = "misc", + help = "If true, print information about the merged files and resulting files to stdout." + ) public boolean verbose; - @Option(name = "max-bytes-wasted-per-file", - defaultValue = "0", - category = "misc", - help = "Limit on conservatively allocated but unused bytes per dex file, which can enable " - + "faster merging.") + @Option( + name = "max-bytes-wasted-per-file", + defaultValue = "0", + category = "misc", + help = + "Limit on conservatively allocated but unused bytes per dex file, which can enable " + + "faster merging." + ) public int wasteThresholdPerDex; // Undocumented dx option for testing multidex logic - @Option(name = "set-max-idx-number", - defaultValue = "" + (DexFormat.MAX_MEMBER_IDX + 1), - category = "undocumented", - help = "Limit on fields and methods in a single dex file.") + @Option( + name = "set-max-idx-number", + defaultValue = "" + (DexFormat.MAX_MEMBER_IDX + 1), + optionUsageRestrictions = OptionUsageRestrictions.UNDOCUMENTED, + help = "Limit on fields and methods in a single dex file." + ) public int maxNumberOfIdxPerDex; } |