aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Liam Miller-Cushon <cushon@google.com>2017-02-04 03:06:33 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2017-02-06 19:35:47 +0000
commit941928c6692ec08a914467c8492117ee67b2fd39 (patch)
treea9cca02f1e8b92e33cf78776e6739bd4f13d4b6f
parenta6f42024eb4d7963da56caf2fd133126968dad94 (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
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbine.java4
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac/JavacTurbineCompiler.java1
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java39
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);
+ }
}