From b68071a488e102aead631f26e82ef5df41d5fba3 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Sat, 17 Feb 2018 14:45:18 +1000 Subject: [PATCH 1/4] Cache evidence params for hot method --- .../src/main/scala/sbt/internal/util/ManagedLogger.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala b/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala index d4cef3fe0..3add4cd04 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/ManagedLogger.scala @@ -25,9 +25,11 @@ class ManagedLogger( ) } + private val SuccessEventTag = scala.reflect.runtime.universe.typeTag[SuccessEvent] // send special event for success since it's not a real log level override def success(message: => String): Unit = { - infoEvent[SuccessEvent](SuccessEvent(message)) + infoEvent[SuccessEvent](SuccessEvent(message))(implicitly[JsonFormat[SuccessEvent]], + SuccessEventTag) } def registerStringCodec[A: ShowLines: TypeTag]: Unit = { From d9b130d5199308440531cb74d79b318c3b5737b1 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Mon, 19 Feb 2018 15:49:40 +1000 Subject: [PATCH 2/4] Optimize ConsoleAppender.appendLog --- .../sbt/internal/util/ConsoleAppender.scala | 17 ++++++++++++----- .../scala/sbt/internal/util/ConsoleOut.scala | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala index 48b81e786..b0f68e88a 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleAppender.scala @@ -353,8 +353,10 @@ class ConsoleAppender private[ConsoleAppender] ( * @param msg The message to format * @return The formatted message. */ - private def formatted(format: String, msg: String): String = - s"$reset${format}${msg}$reset" + private def formatted(format: String, msg: String): String = { + val builder = new java.lang.StringBuilder(reset.length * 2 + format.length + msg.length) + builder.append(reset).append(format).append(msg).append(reset).toString + } /** * Select the right color for the label given `level`. @@ -388,9 +390,14 @@ class ConsoleAppender private[ConsoleAppender] ( ): Unit = out.lockObject.synchronized { message.lines.foreach { line => - val labeledLine = - s"$reset[${formatted(labelColor, label)}] ${formatted(messageColor, line)}" - write(labeledLine) + val builder = new java.lang.StringBuilder( + labelColor.length + label.length + messageColor.length + line.length + reset.length * 3 + 3) + def fmted(a: String, b: String) = builder.append(reset).append(a).append(b).append(reset) + builder.append(reset).append('[') + fmted(labelColor, label) + builder.append("] ") + fmted(messageColor, line) + write(builder.toString) } } diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleOut.scala b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleOut.scala index 37af255cb..717be2cfd 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleOut.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/ConsoleOut.scala @@ -37,7 +37,7 @@ object ConsoleOut { lockObject.print(OverwriteLine) lockObject.println(s) last = Some(s) - current = new java.lang.StringBuffer + current.setLength(0) } } From 770977a0bbb6f47b29d6f2d77597e750ad1dd585 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 26 Mar 2018 21:13:51 -0400 Subject: [PATCH 3/4] sbt 1.1.2 --- project/build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/build.properties b/project/build.properties index 31334bbd3..05313438a 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.1.1 +sbt.version=1.1.2 From 4791b38adfc0bf3408129a0d9b35d2106a2059f2 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 26 Mar 2018 21:19:59 -0400 Subject: [PATCH 4/4] bump to 1.1.4-SNAPSHOT --- build.sbt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index c5aaf8c18..6c557ee2d 100644 --- a/build.sbt +++ b/build.sbt @@ -32,7 +32,7 @@ def commonSettings: Seq[Setting[_]] = Seq( val mimaSettings = Def settings ( mimaPreviousArtifacts := Set( "1.0.0", "1.0.1", "1.0.2", "1.0.3", - "1.1.0", "1.1.1", "1.1.2", + "1.1.0", "1.1.1", "1.1.2", "1.1.3" ) map (version => organization.value %% moduleName.value % version cross (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled) @@ -54,10 +54,10 @@ lazy val utilRoot: Project = (project in file(".")) .settings( inThisBuild( Seq( - git.baseVersion := "1.1.2", + git.baseVersion := "1.1.4", version := { val v = version.value - if (v contains "SNAPSHOT") git.baseVersion.value + if (v contains "SNAPSHOT") git.baseVersion.value + "-SNAPSHOT" else v }, bintrayPackage := "util",