diff --git a/ivy/Ivy.scala b/ivy/Ivy.scala index 1c18d64b6..48ee41ee4 100644 --- a/ivy/Ivy.scala +++ b/ivy/Ivy.scala @@ -65,7 +65,9 @@ final class IvySbt(configuration: IvyConfiguration) } private lazy val ivy = { - val i = Ivy.newInstance(settings) + val i = new Ivy() { private val loggerEngine = new SbtMessageLoggerEngine; override def getLoggerEngine = loggerEngine } + i.setSettings(settings) + i.bind() i.getLoggerEngine.pushLogger(logger) i } diff --git a/ivy/IvyLogger.scala b/ivy/IvyLogger.scala index 94b1fc3dc..a403c6622 100644 --- a/ivy/IvyLogger.scala +++ b/ivy/IvyLogger.scala @@ -36,9 +36,7 @@ private final class IvyLoggerInterface(logger: IvyLogger) extends MessageLogger def info(msg: String) = logger.info(msg) def rawinfo(msg: String) = info(msg) def warn(msg: String) = logger.warn(msg) - def error(msg: String) = - if(!msg.startsWith("unknown resolver")) // hack to suppress these kinds of messages - logger.error(msg) + def error(msg: String) = if(SbtIvyLogger.acceptError(msg)) logger.error(msg) private def emptyList = java.util.Collections.emptyList[T forSome { type T}] def getProblems = emptyList @@ -54,10 +52,13 @@ private final class IvyLoggerInterface(logger: IvyLogger) extends MessageLogger def isShowProgress = false def setShowProgress(progress: Boolean) {} } - -/** This is a hack to filter error messages about 'unknown resolver ...'. */ private final class SbtMessageLoggerEngine extends MessageLoggerEngine { - override def error(msg: String) = if(acceptError(msg)) super.error(msg) - def acceptError(msg: String) = (msg ne null) && !msg.startsWith("unknown resolver") + /** This is a hack to filter error messages about 'unknown resolver ...'. */ + override def error(msg: String) = if(SbtIvyLogger.acceptError(msg)) super.error(msg) +} +private object SbtIvyLogger +{ + val UnknownResolver = "unknown resolver" + def acceptError(msg: String) = (msg ne null) && !msg.startsWith(UnknownResolver) } \ No newline at end of file