mirror of https://github.com/sbt/sbt.git
Fix NullPointerException in appendLog
This commit is contained in:
parent
3c5b88a83a
commit
64335567ac
|
|
@ -484,21 +484,25 @@ trait Appender extends AutoCloseable {
|
||||||
message: String
|
message: String
|
||||||
): Unit =
|
): Unit =
|
||||||
try {
|
try {
|
||||||
val len =
|
// according to https://github.com/sbt/sbt/issues/5608, sometimes we get a null message
|
||||||
labelColor.length + label.length + messageColor.length + reset.length * 3 + ClearScreenAfterCursor.length
|
if (message == null) ()
|
||||||
val builder: StringBuilder = new StringBuilder(len)
|
else {
|
||||||
message.linesIterator.foreach { line =>
|
val len =
|
||||||
builder.ensureCapacity(len + line.length + 4)
|
labelColor.length + label.length + messageColor.length + reset.length * 3 + ClearScreenAfterCursor.length
|
||||||
builder.setLength(0)
|
val builder: StringBuilder = new StringBuilder(len)
|
||||||
|
message.linesIterator.foreach { line =>
|
||||||
|
builder.ensureCapacity(len + line.length + 4)
|
||||||
|
builder.setLength(0)
|
||||||
|
|
||||||
def fmted(a: String, b: String) = builder.append(reset).append(a).append(b).append(reset)
|
def fmted(a: String, b: String) = builder.append(reset).append(a).append(b).append(reset)
|
||||||
|
|
||||||
builder.append(reset).append('[')
|
builder.append(reset).append('[')
|
||||||
fmted(labelColor, label)
|
fmted(labelColor, label)
|
||||||
builder.append("] ")
|
builder.append("] ")
|
||||||
fmted(messageColor, line)
|
fmted(messageColor, line)
|
||||||
builder.append(ClearScreenAfterCursor)
|
builder.append(ClearScreenAfterCursor)
|
||||||
write(builder.toString)
|
write(builder.toString)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch { case _: InterruptedException => }
|
} catch { case _: InterruptedException => }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue