From 775cdd598af2d6f244e450855773de79b95f7e30 Mon Sep 17 00:00:00 2001 From: Ethan Atkins Date: Tue, 4 Aug 2020 11:53:19 -0700 Subject: [PATCH] Catch IOExceptions in consoleLog A ClosedChannelException was thrown here during CI. --- .../src/main/scala/sbt/internal/util/Terminal.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala index 019e0bb46..6b3c135db 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala @@ -7,7 +7,7 @@ package sbt.internal.util -import java.io.{ InputStream, InterruptedIOException, OutputStream, PrintStream } +import java.io.{ InputStream, InterruptedIOException, IOException, OutputStream, PrintStream } import java.nio.channels.ClosedChannelException import java.util.{ Arrays, Locale } import java.util.concurrent.atomic.{ AtomicBoolean, AtomicReference } @@ -171,7 +171,8 @@ object Terminal { if (System.getProperty("sbt.jline.verbose", "false") != "true") jline.internal.Log.setOutput(new PrintStream(_ => {}, false)) def consoleLog(string: String): Unit = { - Terminal.console.printStream.println(s"[info] $string") + try Terminal.console.printStream.println(s"[info] $string") + catch { case _: IOException => } } private[sbt] def set(terminal: Terminal) = { activeTerminal.set(terminal)