diff options
author | Klaus Aehlig <aehlig@google.com> | 2016-04-11 12:07:38 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2016-04-11 14:32:16 +0000 |
commit | c0c88848b82be9fb3ea0b5af30ff154df85240d8 (patch) | |
tree | 3d29d57766d06e0c0650b8fa6f68628737822519 /src/main/java/com/google/devtools | |
parent | 821a5046f4d9a41a9a518e4c6074c967b90d09d5 (diff) |
ExperimentalStateTracker: add a short version of the progress bar
When bazel is used without curses, every status message ever written
will never be deleted and, instead, stick in the log. To keep the output
manageable in this case, provide a one-line progress bar to be used in
this case.
--
Change-Id: Ia0f9619d406e676f88ff536617a56fd4990cb51e
Reviewed-on: https://bazel-review.googlesource.com/#/c/3294
MOS_MIGRATED_REVID=119520912
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java b/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java index 1791ae33bc..ef0afe2f7b 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/ExperimentalStateTracker.java @@ -177,7 +177,8 @@ class ExperimentalStateTracker { return false; } - synchronized void writeProgressBar(AnsiTerminalWriter terminalWriter) throws IOException { + synchronized void writeProgressBar(AnsiTerminalWriter terminalWriter, boolean shortVersion) + throws IOException { if (status != null) { if (ok) { terminalWriter.okStatus(); @@ -200,13 +201,25 @@ class ExperimentalStateTracker { } else { terminalWriter.okStatus().append("Building:"); } - if (runningActions.size() == 1) { + if (runningActions.size() == 0) { + terminalWriter.normal().append(" no actions running"); + } else if (runningActions.size() == 1) { String statusMessage = describeAction(runningActions.peekFirst(), clock.nanoTime()); terminalWriter.normal().append(" " + statusMessage); } else { - String statusMessage = " " + runningActions.size() + " actions running"; - terminalWriter.normal().append(" " + statusMessage); - sampleOldestActions(terminalWriter); + if (shortVersion) { + String statusMessage = describeAction(runningActions.peekFirst(), clock.nanoTime()); + statusMessage += " ... (" + runningActions.size() + " actions)"; + terminalWriter.normal().append(" " + statusMessage); + } else { + String statusMessage = " " + runningActions.size() + " actions running"; + terminalWriter.normal().append(" " + statusMessage); + sampleOldestActions(terminalWriter); + } } } + + void writeProgressBar(AnsiTerminalWriter terminalWriter) throws IOException { + writeProgressBar(terminalWriter, false); + } } |