aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2016-04-11 12:07:38 +0000
committerGravatar Lukacs Berki <lberki@google.com>2016-04-11 14:32:16 +0000
commitc0c88848b82be9fb3ea0b5af30ff154df85240d8 (patch)
tree3d29d57766d06e0c0650b8fa6f68628737822519 /src/main/java/com/google/devtools
parent821a5046f4d9a41a9a518e4c6074c967b90d09d5 (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.java23
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);
+ }
}