private def lintIntraTargetConflicts()

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