Flush err after completing standalone jar build request.
Otherwise, diagnostics are eaten.
Closes #12268.
PiperOrigin-RevId: 338123554
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java
index 781e61e..2c80f37 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/BazelJavaBuilder.java
@@ -43,10 +43,15 @@
WorkRequestHandler workerHandler = new WorkRequestHandler(builder::parseAndBuild);
System.exit(workerHandler.processRequests(System.in, System.out, System.err));
} else {
- System.exit(
- builder.parseAndBuild(
- Arrays.asList(args),
- new PrintWriter(new OutputStreamWriter(System.err, Charset.defaultCharset()))));
+ PrintWriter pw =
+ new PrintWriter(new OutputStreamWriter(System.err, Charset.defaultCharset()));
+ int returnCode;
+ try {
+ returnCode = builder.parseAndBuild(Arrays.asList(args), pw);
+ } finally {
+ pw.flush();
+ }
+ System.exit(returnCode);
}
}