From 6d7838fd4ea8adb4d8f417ce853aa2e3d412cc15 Mon Sep 17 00:00:00 2001 From: Gunnar Wagenknecht Date: Mon, 11 Sep 2023 11:21:56 -0700 Subject: [PATCH] Add test case for annotation processor option with space Add a test to reproduce https://github.com/bazelbuild/bazel/issues/19360 Fixes #272 COPYBARA_INTEGRATE_REVIEW=https://github.com/google/turbine/pull/272 from guw:main b2b7c2b77a45a1c71d95ba429d84e6e8188b468a PiperOrigin-RevId: 564447484 --- .../turbine/options/TurbineOptionsParser.java | 7 +------ .../google/turbine/options/TurbineOptionsTest.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/java/com/google/turbine/options/TurbineOptionsParser.java b/java/com/google/turbine/options/TurbineOptionsParser.java index e68a546e..b67880b5 100644 --- a/java/com/google/turbine/options/TurbineOptionsParser.java +++ b/java/com/google/turbine/options/TurbineOptionsParser.java @@ -18,8 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.CharMatcher; -import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; import com.google.turbine.options.TurbineOptions.ReducedClasspathMode; import java.io.IOException; @@ -159,9 +157,6 @@ private static void parse(TurbineOptions.Builder builder, Deque argument } } - private static final Splitter ARG_SPLITTER = - Splitter.on(CharMatcher.breakingWhitespace()).omitEmptyStrings().trimResults(); - /** * Pre-processes an argument list, expanding arguments of the form {@code @filename} by reading * the content of the file and appending whitespace-delimited options to {@code argumentDeque}. @@ -186,7 +181,7 @@ private static void expandParamsFiles(Deque argumentDeque, Iterable paramsArgs = Iterables.concat( - BASE_ARGS, Arrays.asList("--javacopts", "-source", "8", "-target", "8", "--")); + BASE_ARGS, + Arrays.asList( + "--javacopts", + "-source", + "8", + "-target", + "8", + "-Aconnector.opt=with,space, here", + "--")); Path params = tmpFolder.newFile("params.txt").toPath(); Files.write(params, paramsArgs, StandardCharsets.UTF_8); @@ -206,7 +214,9 @@ public void paramsFile() throws Exception { TurbineOptions options = TurbineOptionsParser.parse(Arrays.asList(lines)); // assert that options were read from params file - assertThat(options.javacOpts()).containsExactly("-source", "8", "-target", "8").inOrder(); + assertThat(options.javacOpts()) + .containsExactly("-source", "8", "-target", "8", "-Aconnector.opt=with,space, here") + .inOrder(); // ... and directly from the command line assertThat(options.targetLabel()).hasValue("//custom/label"); }