diff options
author | Florian Weikert <fwe@google.com> | 2015-11-11 14:48:41 +0000 |
---|---|---|
committer | Laszlo Csomor <laszlocsomor@google.com> | 2015-11-12 09:00:04 +0000 |
commit | 90670386407b5e1e1964f7c7b30ad4d2c25ab471 (patch) | |
tree | 064f15c57a0dcac91bab6990c3b07219d1a996d9 /src/main/java/com/google/devtools/build/lib/runtime/FancyTerminalEventHandler.java | |
parent | 1bf13d2cfb728f5e10f07579690093a189ebc7e6 (diff) |
Removed double trailing periods in console output.
--
MOS_MIGRATED_REVID=107582017
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 | 28 |
1 files changed, 22 insertions, 6 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 a39db67030..a15583ac08 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 @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.runtime; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterators; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.EventKind; @@ -29,6 +30,7 @@ import java.io.IOException; import java.util.Calendar; import java.util.Iterator; import java.util.List; +import java.util.Set; import java.util.concurrent.ThreadLocalRandom; import java.util.logging.Logger; import java.util.regex.Matcher; @@ -95,6 +97,9 @@ public class FancyTerminalEventHandler extends BlazeCommandEventHandler { "Checking for outstanding GCard expenses", "Waiting for workstation CPU temperature to decrease"); + private static final Set<Character> PUNCTUATION_CHARACTERS = + ImmutableSet.<Character>of(',', '.', ':', '?', '!', ';'); + private final Iterator<String> messageIterator = Iterators.cycle(SPECIAL_MESSAGES); private volatile boolean trySpecial; private volatile Instant skipUntil = Instant.now(); @@ -331,8 +336,7 @@ public class FancyTerminalEventHandler extends BlazeCommandEventHandler { terminal.resetTerminal(); } writeTimestampAndLocation(event); - terminal.writeString(event.getMessage()); - terminal.writeString("."); + writeStringWithPotentialPeriod(event.getMessage()); crlf(); } @@ -344,8 +348,7 @@ public class FancyTerminalEventHandler extends BlazeCommandEventHandler { terminal.writeString("WARNING: "); terminal.resetTerminal(); writeTimestampAndLocation(warning); - terminal.writeString(warning.getMessage()); - terminal.writeString("."); + writeStringWithPotentialPeriod(warning.getMessage()); crlf(); } @@ -357,11 +360,24 @@ public class FancyTerminalEventHandler extends BlazeCommandEventHandler { terminal.writeString(event.getKind() + ": "); terminal.resetTerminal(); writeTimestampAndLocation(event); - terminal.writeString(event.getMessage()); - // No period; info messages often end in '...'. + writeStringWithPotentialPeriod(event.getMessage()); crlf(); } + /** + * Writes the given String to the terminal. This method also writes a trailing period if the + * message doesn't end with a punctuation character. + */ + private void writeStringWithPotentialPeriod(String message) throws IOException { + terminal.writeString(message); + if (!message.isEmpty()) { + char lastChar = message.charAt(message.length() - 1); + if (!PUNCTUATION_CHARACTERS.contains(lastChar)) { + terminal.writeString("."); + } + } + } + private void subcmd(Event subcmd) throws IOException { previousLineErasable = false; if (useColor) { |