Avoid repeating versions in Eviction error message

Rather than seeing an error like this, with the evicted version numbers
being repeated many times:

```
[error] 	* org.scala-lang.modules:scala-java8-compat_2.13:1.0.0 (early-semver) is selected over {0.9.0, 0.9.0, 0.9.0, 0.9.0, 0.9.1, 0.9.1, 0.9.1}
```

...I'd much rather see an error like this:

```
[error]         * org.scala-lang.modules:scala-java8-compat_2.13:1.0.0 (early-semver) is selected over {0.9.0, 0.9.1}
```
This commit is contained in:
Roberto Tyley 2021-09-17 17:36:04 +01:00
parent fb33493969
commit 9786906eca
1 changed files with 2 additions and 1 deletions

View File

@ -155,7 +155,8 @@ final class EvictionError private[sbt] (
evictions.foreach({
case (a, scheme) =>
val revs = a.evicteds map { _.module.revision }
val revsStr = if (revs.size <= 1) revs.mkString else "{" + revs.mkString(", ") + "}"
val revsStr =
if (revs.size <= 1) revs.mkString else "{" + revs.distinct.mkString(", ") + "}"
val seen: mutable.Set[ModuleID] = mutable.Set()
val callers: List[String] = (a.evicteds.toList ::: a.winner.toList) flatMap { r =>
val rev = r.module.revision