From aabe1f4166b54f2826b08d93f396ac1a9ec16e8e Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Fri, 26 Feb 2021 17:01:14 -0800 Subject: [PATCH] Allow turbine to parse JavaBuilder command lines Add a couple of aliases, and skip some flags that only apply to JavaBuilder. PiperOrigin-RevId: 359867369 --- .../turbine/options/TurbineOptionsParser.java | 10 ++++++++ .../turbine/options/TurbineOptionsTest.java | 23 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/java/com/google/turbine/options/TurbineOptionsParser.java b/java/com/google/turbine/options/TurbineOptionsParser.java index 353edfef..f2bd5e00 100644 --- a/java/com/google/turbine/options/TurbineOptionsParser.java +++ b/java/com/google/turbine/options/TurbineOptionsParser.java @@ -100,6 +100,7 @@ private static void parse(TurbineOptions.Builder builder, Deque argument case "--sources": builder.setSources(readList(argumentDeque)); break; + case "--output_deps_proto": case "--output_deps": builder.setOutputDeps(readOne(argumentDeque)); break; @@ -140,6 +141,7 @@ private static void parse(TurbineOptions.Builder builder, Deque argument case "--profile": builder.setProfile(readOne(argumentDeque)); break; + case "--generated_sources_output": case "--gensrc_output": builder.setGensrcOutput(readOne(argumentDeque)); break; @@ -149,6 +151,14 @@ private static void parse(TurbineOptions.Builder builder, Deque argument case "--help": builder.setHelp(true); break; + case "--experimental_fix_deps_tool": + case "--strict_java_deps": + case "--native_header_output": + case "--compress_jar": + // these flags don't apply to turbine, but are accepted (and ignored) for compatibility + // with JavaBuilder command lines + readOne(argumentDeque); + break; default: throw new IllegalArgumentException("unknown option: " + next); } diff --git a/javatests/com/google/turbine/options/TurbineOptionsTest.java b/javatests/com/google/turbine/options/TurbineOptionsTest.java index d4b468b1..1cfcc893 100644 --- a/javatests/com/google/turbine/options/TurbineOptionsTest.java +++ b/javatests/com/google/turbine/options/TurbineOptionsTest.java @@ -373,4 +373,27 @@ public void reducedClasspathMode() throws Exception { assertThat(options.reducedClasspathMode()).isEqualTo(mode); } } + + @Test + public void javaBuilderCompatibility() throws Exception { + TurbineOptions options = + TurbineOptionsParser.parse( + Iterables.concat( + BASE_ARGS, + ImmutableList.of( + "--output_deps_proto", + "output_deps.proto", + "--generated_sources_output", + "generated_sources.jar", + "--experimental_fix_deps_tool", + "ignored", + "--strict_java_deps", + "ignored", + "--native_header_output", + "ignored", + "--compress_jar", + "ignored"))); + assertThat(options.outputDeps()).hasValue("output_deps.proto"); + assertThat(options.gensrcOutput()).hasValue("generated_sources.jar"); + } }