Fix 'unknown resolver' errors in normal projects

This commit is contained in:
Mark Harrah 2010-02-06 14:14:49 -05:00
parent 1cc75faeba
commit aeb51e1d6c
2 changed files with 11 additions and 8 deletions

View File

@ -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
}

View File

@ -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)
}