aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java24
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java14
3 files changed, 42 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java
index bceb04c833..5fe8b5130a 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandEventHandler.java
@@ -329,6 +329,13 @@ public class BlazeCommandEventHandler implements EventHandler {
// Event messages go to stderr; results (e.g. 'blaze query') go to stdout.
errPrintStream.println(buf);
+
+ if (event.getStdErr() != null) {
+ handle(Event.of(EventKind.STDERR, null, event.getStdErr()));
+ }
+ if (event.getStdOut() != null) {
+ handle(Event.of(EventKind.STDOUT, null, event.getStdOut()));
+ }
}
private void putOutput(OutputStream out, Event event) {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java
index f68b3853d2..49ba57ba1b 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java
@@ -319,6 +319,20 @@ public class ExperimentalEventHandler implements EventHandler {
clearProgressBar();
terminal.flush();
outErr.getOutputStream().write((event + "\n").getBytes(StandardCharsets.UTF_8));
+ if (event.getStdOut() != null) {
+ outErr
+ .getOutputStream()
+ .write(
+ ("... with STDOUT: " + event.getStdOut() + "\n")
+ .getBytes(StandardCharsets.UTF_8));
+ }
+ if (event.getStdErr() != null) {
+ outErr
+ .getOutputStream()
+ .write(
+ ("... with STDERR: " + event.getStdErr() + "\n")
+ .getBytes(StandardCharsets.UTF_8));
+ }
outErr.getOutputStream().flush();
addProgressBar();
terminal.flush();
@@ -336,10 +350,10 @@ public class ExperimentalEventHandler implements EventHandler {
stream.flush();
} else {
byte[] message = event.getMessageBytes();
- double cap = remainingCapacity(message.length);
- if (cap < 0) {
+ if (remainingCapacity() < 0) {
return;
}
+ double cap = remainingCapacity(message.length);
if (cap < CAPACITY_LIMIT_OUT_ERR_EVENTS) {
// Have to ensure the message is not too large.
long allowedLength =
@@ -439,6 +453,12 @@ public class ExperimentalEventHandler implements EventHandler {
case DEPCHECKER:
break;
}
+ if (event.getStdErr() != null) {
+ handle(Event.of(EventKind.STDERR, null, event.getStdErr()));
+ }
+ if (event.getStdOut() != null) {
+ handle(Event.of(EventKind.STDOUT, null, event.getStdOut()));
+ }
}
} catch (IOException e) {
logger.warning("IO Error writing to output stream: " + e);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java
index e482eb6054..90975de9a5 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java
@@ -133,12 +133,14 @@ public class FancyTerminalEventHandler extends BlazeCommandEventHandler {
return;
}
if (!eventMask.contains(event.getKind())) {
+ handleFollowUpEvents(event);
return;
}
if (trySpecial
&& !EventKind.ERRORS_AND_WARNINGS_AND_OUTPUT.contains(event.getKind())
&& skipUntil.isAfter(Instant.now())) {
// Short-circuit here to avoid wiping out previous terminal contents.
+ handleFollowUpEvents(event);
return;
}
@@ -235,8 +237,18 @@ public class FancyTerminalEventHandler extends BlazeCommandEventHandler {
logger.warning("Terminal was closed during build: " + e);
terminalClosed = true;
}
+ handleFollowUpEvents(event);
}
-
+
+ private void handleFollowUpEvents(Event event) {
+ if (event.getStdErr() != null) {
+ handle(Event.of(EventKind.STDERR, null, event.getStdErr()));
+ }
+ if (event.getStdOut() != null) {
+ handle(Event.of(EventKind.STDOUT, null, event.getStdOut()));
+ }
+ }
+
private String getExtraMessage() {
synchronized (messageIterator) {
if (messageIterator.hasNext()) {