in multiversion/src/main/scala/multiversion/commands/ExportCommand.scala [491:513]
private def lintIntraTargetConflicts(index: ResolutionIndex): Result[Unit] = {
val errors = index.unevictedArtifacts
.flatMap { rdep =>
rdep.config.targets.map(t => (t, rdep.dependency.module) -> rdep.dependency.version)
}
.groupBy(_._1)
.toList
.sortBy { case ((target, module), _) => target + module.repr }
.collect {
case ((target, module), conflicts) if conflicts.distinct.length > 1 =>
val pos = index.thirdparty.depsByTargets
.getOrElse(target, Nil)
.headOption
.map(_.organization.position)
.getOrElse(NoPosition)
val versions = conflicts.map(_._2).distinct.sorted
new IntraTargetConflictDiagnostic(target, module, versions, pos)
}
Diagnostic.fromDiagnostics(errors) match {
case Some(diagnostic) => ErrorResult(diagnostic)
case None => ValueResult(())
}
}