in multiversion/src/main/scala/multiversion/outputs/ResolutionIndex.scala [135:165]
def configsOf(dep: Dependency): collection.Set[DependencyConfig] =
owningConfigs.getOrElse(dep.bazelLabel, Set.empty)
// the map between evicted dependencies and their resolved versions
private lazy val reconciledVersions: Map[Dependency, String] = {
for {
(module, deps) <- allDependencies
if deps.size > 1
compat =
thirdparty.depsByModule
.getOrElse(module, Nil)
.flatMap(_.versionScheme)
.headOption
.getOrElse {
/*
val m = module.name.value
if (
m.endsWith("_2.11") || m
.endsWith("_2.12") || m.endsWith("_2.13") || m.endsWith("_3")
)
VersionCompatibility.PackVer
else
*/
VersionCompatibility.EarlySemVer
}
versions = reconcileVersions(deps, compat)
(dep, _) <- deps
reconciledVersion <- versions.get(dep)
if dep.version != reconciledVersion
} yield dep.withoutConfig -> reconciledVersion
}.toMap