diff options
author | 2017-02-04 03:06:33 +0000 | |
---|---|---|
committer | 2017-02-06 19:35:47 +0000 | |
commit | 941928c6692ec08a914467c8492117ee67b2fd39 (patch) | |
tree | a9cca02f1e8b92e33cf78776e6739bd4f13d4b6f | |
parent | a6f42024eb4d7963da56caf2fd133126968dad94 (diff) |
Ignore warnings for successful javac-turbine invocations
including e.g. deferred diagnostic notes and spurious strict deps
diagnostics.
--
PiperOrigin-RevId: 146542770
MOS_MIGRATED_REVID=146542770
3 files changed, 41 insertions, 3 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 1152e3c903..702bb4bb78 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 @@ -230,9 +230,9 @@ public class JavacTurbine implements AutoCloseable { emitClassJar(Paths.get(turbineOptions.outputFile()), compileResult.files()); dependencyModule.emitDependencyInformation( CLASSPATH_JOINER.join(actualClasspath), compileResult.success()); + } else { + out.print(compileResult.output()); } - - out.print(compileResult.output()); return result; } diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbineCompiler.java b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbineCompiler.java index 0718ec5968..2b4474ecbd 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbineCompiler.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbineCompiler.java @@ -89,6 +89,7 @@ public class JavacTurbineCompiler { t.printStackTrace(pw); status = Status.ERROR; } + comp.close(); } return new JavacTurbineCompileResult(ImmutableMap.copyOf(files), status, sw, context); 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 a6e9c5f841..22787b67e3 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 @@ -1240,7 +1240,7 @@ public class JavacTurbineTest { new JavacTurbine(new PrintWriter(errOutput, true), optionsBuilder.build())) { result = turbine.compile(); } - assertThat(errOutput.toString()).contains("warning: [strict]"); + assertThat(errOutput.toString()).isEmpty(); assertThat(result).isNotEqualTo(Result.OK_WITH_REDUCED_CLASSPATH); } @@ -1401,4 +1401,41 @@ public class JavacTurbineTest { }; assertThat(text).isEqualTo(Joiner.on('\n').join(expected)); } + + @SupportedAnnotationTypes("*") + public static class SimpleProcessor extends AbstractProcessor { + @Override + public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { + return false; + } + } + + @Test + public void noWarningDiagnostics() throws Exception { + addSourceLines( + "A.java", // + "@Deprecated public class A {", + "}"); + addSourceLines( + "B.java", // + "public class B {", + " public static final A a;", + "}"); + + optionsBuilder.addProcessors(ImmutableList.of(SimpleProcessor.class.getName())); + optionsBuilder.addProcessorPathEntries( + ImmutableList.copyOf(Splitter.on(':').split(System.getProperty("java.class.path")))); + optionsBuilder.addAllJavacOpts(Arrays.asList("-Xlint:deprecation")); + optionsBuilder.addSources(ImmutableList.copyOf(Iterables.transform(sources, TO_STRING))); + + StringWriter output = new StringWriter(); + Result result; + try (JavacTurbine turbine = + new JavacTurbine(new PrintWriter(output, true), optionsBuilder.build())) { + result = turbine.compile(); + } + + assertThat(output.toString()).isEmpty(); + assertThat(result).isEqualTo(Result.OK_WITH_REDUCED_CLASSPATH); + } } |