From ace8d88f9fb4a41c5ff64e58d5fe7bd2ad015788 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Tue, 25 Jul 2017 04:09:44 -0400 Subject: [PATCH] Filter out ":: loading settings" Fixes sbt/sbt#3287 I'm not sure why we started to see these messages, but given that their info is mapped to our info, it kind of makes sense that it is surfacing. The fix is hacky, but it should work. --- .../internal/librarymanagement/IvyLogger.scala | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ivy/src/main/scala/sbt/internal/librarymanagement/IvyLogger.scala b/ivy/src/main/scala/sbt/internal/librarymanagement/IvyLogger.scala index f178a95f0..29f61222a 100644 --- a/ivy/src/main/scala/sbt/internal/librarymanagement/IvyLogger.scala +++ b/ivy/src/main/scala/sbt/internal/librarymanagement/IvyLogger.scala @@ -7,7 +7,7 @@ import org.apache.ivy.util.{ Message, MessageLogger, MessageLoggerEngine } import sbt.util.Logger /** Interface to Ivy logging. */ -private final class IvyLoggerInterface(logger: Logger) extends MessageLogger { +private[sbt] final class IvyLoggerInterface(logger: Logger) extends MessageLogger { def rawlog(msg: String, level: Int): Unit = log(msg, level) def log(msg: String, level: Int): Unit = { import Message.{ MSG_DEBUG, MSG_VERBOSE, MSG_INFO, MSG_WARN, MSG_ERR } @@ -24,7 +24,7 @@ private final class IvyLoggerInterface(logger: Logger) extends MessageLogger { def debug(msg: String): Unit = () def verbose(msg: String): Unit = logger.verbose(msg) def deprecated(msg: String): Unit = warn(msg) - def info(msg: String): Unit = logger.info(msg) + def info(msg: String): Unit = if (SbtIvyLogger.acceptInfo(msg)) logger.info(msg) def rawinfo(msg: String): Unit = info(msg) def warn(msg: String): Unit = logger.warn(msg) def error(msg: String): Unit = if (SbtIvyLogger.acceptError(msg)) logger.error(msg) @@ -43,13 +43,16 @@ private final class IvyLoggerInterface(logger: Logger) extends MessageLogger { def isShowProgress = false def setShowProgress(progress: Boolean): Unit = () } -private final class SbtMessageLoggerEngine extends MessageLoggerEngine { +private[sbt] final class SbtMessageLoggerEngine extends MessageLoggerEngine { /** This is a hack to filter error messages about 'unknown resolver ...'. */ override def error(msg: String): Unit = if (SbtIvyLogger.acceptError(msg)) super.error(msg) override def sumupProblems(): Unit = clearProblems() } -private object SbtIvyLogger { - val UnknownResolver = "unknown resolver" - def acceptError(msg: String) = (msg ne null) && !msg.startsWith(UnknownResolver) +private[sbt] object SbtIvyLogger { + final val unknownResolver = "unknown resolver" + def acceptError(msg: String) = (msg ne null) && !msg.startsWith(unknownResolver) + + final val loadingSettings = ":: loading settings" + def acceptInfo(msg: String) = (msg ne null) && !msg.startsWith(loadingSettings) }