Implements eviction warning stories. #1200

This implements all stories from https://github.com/sbt/sbt/wiki/User-Stories%3A-Conflict-Warning.
When scalaVersion is no longer effective an eviction warning will display.

    Scala version was updated by one of library dependencies:
        * org.scala-lang:scala-library:2.10.2 -> 2.10.3

When there're suspected incompatibility in directly depended Java libraries,
eviction warnings will display.

   There may be incompatibilities among your library dependencies.
   Here are some of the libraries that were evicted:
      * commons-io:commons-io:1.4 -> 2.4

When there's suspected incompatiblity in directly depended Scala libraries,
eviction warnings will display.

  There may be incompatibilities among your library dependencies.
  Here are some of the libraries that were evicted:
      * com.typesafe.akka:akka-actor_2.10:2.1.4 -> 2.3.4

This also adds 'evicted' task, which displays more detailed eviction warnings.
This commit is contained in:
Eugene Yokota 2014-07-27 12:26:12 -04:00
parent 90d5f1ca02
commit a398e7d78f
1 changed files with 15 additions and 0 deletions

View File

@ -0,0 +1,15 @@
package sbt
trait ShowLines[A] {
def showLines(a: A): Seq[String]
}
object ShowLines {
def apply[A](f: A => Seq[String]): ShowLines[A] =
new ShowLines[A] {
def showLines(a: A): Seq[String] = f(a)
}
implicit class ShowLinesOp[A: ShowLines](a: A) {
def lines: Seq[String] = implicitly[ShowLines[A]].showLines(a)
}
}