diff options
2 files changed, 16 insertions, 1 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbine.java b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbine.java index 3bf8348280..37d1ef90a7 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbine.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbine.java @@ -127,7 +127,9 @@ public class JavacTurbine implements AutoCloseable { @VisibleForTesting static ImmutableList<String> processJavacopts(TurbineOptions turbineOptions) { ImmutableList<String> javacopts = - JavacOptions.removeBazelSpecificFlags(turbineOptions.javacOpts()); + JavacOptions.removeBazelSpecificFlags( + JavacOptions.normalizeOptionsWithNormalizers( + turbineOptions.javacOpts(), new JavacOptions.ReleaseOptionNormalizer())); ImmutableList.Builder<String> builder = ImmutableList.builder(); builder.addAll(javacopts); diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java index 5ceb0bdf46..5849eb851e 100644 --- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java +++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java @@ -1313,5 +1313,18 @@ public class JavacTurbineTest extends AbstractJavacTurbineCompilationTest { ImmutableList<String> javacopts = JavacTurbine.processJavacopts(options); assertThat(javacopts).doesNotContain("-source"); } + + @Test + public void processJavacopts_normalizeRelease() { + TurbineOptions options = + TurbineOptions.builder() + .setOutput("/out") + .setTempDir("/tmp") + .addAllJavacOpts(ImmutableList.of("-source", "8", "-target", "8", "--release", "9")) + .build(); + ImmutableList<String> javacopts = JavacTurbine.processJavacopts(options); + assertThat(javacopts).contains("--release"); + assertThat(javacopts).containsNoneOf("-source", "-target"); + } } |