diff options
Diffstat (limited to 'src/java_tools')
3 files changed, 19 insertions, 3 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD index 961904114f..fa724d1135 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BUILD @@ -183,6 +183,7 @@ bootstrap_java_binary( "JarOwner.java", "OptionsParser.java", "VanillaJavaBuilder.java", + "javac/JavacOptions.java", ], main_class = "com.google.devtools.build.buildjar.VanillaJavaBuilder", deps = [ @@ -202,6 +203,7 @@ java_library( name = "vanilla_java_builder", srcs = ["VanillaJavaBuilder.java"], deps = [ + ":javac_options", ":optionsparser", "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper", "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/resourcejar", diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java index 77620674a7..df857a7351 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java @@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import com.google.common.collect.Iterables; import com.google.devtools.build.buildjar.jarhelper.JarCreator; +import com.google.devtools.build.buildjar.javac.JavacOptions; import com.google.devtools.build.buildjar.proto.JavaCompilation.Manifest; import com.google.devtools.build.buildjar.resourcejar.ResourceJarBuilder; import com.google.devtools.build.buildjar.resourcejar.ResourceJarOptions; @@ -166,7 +167,7 @@ public class VanillaJavaBuilder implements Closeable { new PrintWriter(output, true), fileManager, diagnosticCollector, - optionsParser.getJavacOpts(), + JavacOptions.removeBazelSpecificFlags(optionsParser.getJavacOpts()), ImmutableList.<String>of() /*classes*/, sources); setProcessors(optionsParser, fileManager, task); diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java index 71a702ed05..6ae2f3140a 100644 --- a/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java +++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java @@ -83,6 +83,8 @@ public class VanillaJavaBuilderTest { VanillaJavaBuilderResult result = run( ImmutableList.of( + "--javacopts", + "-Xep:FallThrough:ERROR", "--sources", source.toString(), "--source_jars", @@ -113,12 +115,23 @@ public class VanillaJavaBuilderTest { source, ImmutableList.of( "class A {", // - "}}"), + " void f(int x) {", + " switch (x) {", + " case 0:", + " System.err.println(0);", + " case 1:", + " System.err.println(0);", + " }", + " }", + "}"), UTF_8); VanillaJavaBuilderResult result = run( ImmutableList.of( + "--javacopts", + "-Xlint:all", + "-Werror", "--sources", source.toString(), "--output", @@ -128,7 +141,7 @@ public class VanillaJavaBuilderTest { "--classdir", temporaryFolder.newFolder().toString())); - assertThat(result.output()).contains("class, interface, or enum expected"); + assertThat(result.output()).contains("possible fall-through"); assertThat(result.ok()).isFalse(); assertThat(Files.exists(output)).isFalse(); } |