aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/idlclass
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-08-18 16:21:32 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-21 14:15:42 +0200
commit74a8c3e529f0c3ec9ab02db684e9d0ec4f71bf64 (patch)
tree0d9061d2b81e04724c55f22e74d2826c15d7a4df /src/tools/android/java/com/google/devtools/build/android/idlclass
parente6d2077cab9eef14afc25e54ab6b0e583e0b3bf0 (diff)
Switch android tools' use of options parser to a more concise form for the single options-base case.
This is to prepare the options parser from making options parser creation exceptions a caught exception. Since all of these classes already have a single options class and used parseAndExitUponError, this allows us to keep behavior consistent between the malformed options-base errors and the incorrect user-input errors. All the other uses of the options parser in //src/tools already throw sufficiently broad exceptions to not need this. RELNOTES: None PiperOrigin-RevId: 165702786
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/idlclass')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java b/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java
index fabf09a2d3..3bce5c1509 100644
--- a/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java
+++ b/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java
@@ -22,7 +22,7 @@ import com.google.common.collect.Sets;
import com.google.devtools.build.buildjar.jarhelper.JarCreator;
import com.google.devtools.build.buildjar.proto.JavaCompilation.CompilationUnit;
import com.google.devtools.build.buildjar.proto.JavaCompilation.Manifest;
-import com.google.devtools.common.options.OptionsParser;
+import com.google.devtools.common.options.Options;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
@@ -42,23 +42,24 @@ import java.util.jar.JarFile;
public class IdlClass {
public static void main(String[] args) throws IOException {
- OptionsParser optionsParser = OptionsParser.newOptionsParser(IdlClassOptions.class);
- optionsParser.parseAndExitUponError(args);
- IdlClassOptions options = optionsParser.getOptions(IdlClassOptions.class);
- Preconditions.checkNotNull(options.manifestProto);
- Preconditions.checkNotNull(options.classJar);
- Preconditions.checkNotNull(options.outputClassJar);
- Preconditions.checkNotNull(options.outputSourceJar);
- Preconditions.checkNotNull(options.tempDir);
+ Options<IdlClassOptions> options =
+ Options.parseAndExitUponError(IdlClassOptions.class, /*allowResidue=*/ true, args);
+
+ IdlClassOptions idlClassOptions = options.getOptions();
+ Preconditions.checkNotNull(idlClassOptions.manifestProto);
+ Preconditions.checkNotNull(idlClassOptions.classJar);
+ Preconditions.checkNotNull(idlClassOptions.outputClassJar);
+ Preconditions.checkNotNull(idlClassOptions.outputSourceJar);
+ Preconditions.checkNotNull(idlClassOptions.tempDir);
List<Path> idlSources = Lists.newArrayList();
- for (String idlSource : optionsParser.getResidue()) {
+ for (String idlSource : options.getRemainingArgs()) {
idlSources.add(Paths.get(idlSource));
}
- Manifest manifest = readManifest(options.manifestProto);
- writeClassJar(options, idlSources, manifest);
- writeSourceJar(options, idlSources, manifest);
+ Manifest manifest = readManifest(idlClassOptions.manifestProto);
+ writeClassJar(idlClassOptions, idlSources, manifest);
+ writeSourceJar(idlClassOptions, idlSources, manifest);
}
private static void writeClassJar(IdlClassOptions options,