diff options
author | Klaus Aehlig <aehlig@google.com> | 2018-08-10 09:53:12 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-10 09:54:45 -0700 |
commit | 44e267980fffd6b0aaee49831fc83441e2000082 (patch) | |
tree | c5d33e22dbebd38bee3c6f0c586eabdf35d372a1 /src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java | |
parent | 3df620a1ef16e81780d7af40cd2dfa3251d40668 (diff) |
Combine prefix event and payload stdout/stderr
...in a single event instead of relying on the synchronisation on the
reporter. In this way, it will be possible to focus on output of errors,
and also to deduplicate warnings.
Change-Id: I9669e8497ca6e22a01f3e285ec9ee42c1ecf3fb5
PiperOrigin-RevId: 208223882
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java | 14 |
1 files changed, 13 insertions, 1 deletions
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()) { |