When running javac, print out the number of errors and warnings. Summary: When trying to fix a java_library with a lot of errors, it is helpful to see the error count as you go along so you can tell if you are making progress or not. Test Plan: Built a failing java_library and verify that the message appears.
diff --git a/src/com/facebook/buck/java/JavacInMemoryStep.java b/src/com/facebook/buck/java/JavacInMemoryStep.java index 43a1c40..cab2500 100644 --- a/src/com/facebook/buck/java/JavacInMemoryStep.java +++ b/src/com/facebook/buck/java/JavacInMemoryStep.java
@@ -321,9 +321,22 @@ return 0; } else { if (context.getVerbosity().shouldPrintStandardInformation()) { + int numErrors = 0; + int numWarnings = 0; for (Diagnostic<? extends JavaFileObject> diagnostic : diagnostics.getDiagnostics()) { + Diagnostic.Kind kind = diagnostic.getKind(); + if (kind == Diagnostic.Kind.ERROR) { + ++numErrors; + } else if (kind == Diagnostic.Kind.WARNING || kind == Diagnostic.Kind.MANDATORY_WARNING) { + ++numWarnings; + } + context.getStdErr().println(diagnostic); } + + if (numErrors > 0 || numWarnings > 0) { + context.getStdErr().printf("Errors: %d. Warnings: %d.\n", numErrors, numWarnings); + } } return 1; }