From aeb51e1d6c207bd82d60adfdb6e20f6844cbd9be Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sat, 6 Feb 2010 14:14:49 -0500 Subject: [PATCH] Fix 'unknown resolver' errors in normal projects --- ivy/Ivy.scala | 4 +++- ivy/IvyLogger.scala | 15 ++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) 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