mirror of https://github.com/sbt/sbt.git
Safety check
This commit is contained in:
parent
641af2af91
commit
05c248df82
|
|
@ -65,35 +65,44 @@ final case class Missing(
|
||||||
|
|
||||||
def next(results: Fetch.MD): ResolutionProcess = {
|
def next(results: Fetch.MD): ResolutionProcess = {
|
||||||
|
|
||||||
val errors = results
|
val errors = results.collect {
|
||||||
.collect{case (modVer, -\/(errs)) => modVer -> errs }
|
case (modVer, -\/(errs)) =>
|
||||||
val successes = results
|
modVer -> errs
|
||||||
.collect{case (modVer, \/-(repoProj)) => modVer -> repoProj }
|
}
|
||||||
|
val successes = results.collect {
|
||||||
val depMgmtMissing0 = successes
|
case (modVer, \/-(repoProj)) =>
|
||||||
.map{case (_, (_, proj)) => current.dependencyManagementMissing(proj) }
|
modVer -> repoProj
|
||||||
.fold(Set.empty)(_ ++ _)
|
|
||||||
|
|
||||||
val depMgmtMissing = depMgmtMissing0 -- results.map(_._1)
|
|
||||||
|
|
||||||
def cont0(res: Resolution) = {
|
|
||||||
val res0 =
|
|
||||||
successes.foldLeft(res){case (acc, (modVer, (source, proj))) =>
|
|
||||||
acc.copyWithCache(projectCache = acc.projectCache + (
|
|
||||||
modVer -> (source, acc.withDependencyManagement(proj))
|
|
||||||
))
|
|
||||||
}
|
|
||||||
|
|
||||||
Continue(res0, cont)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val current0 = current
|
def cont0(res: Resolution): ResolutionProcess = {
|
||||||
.copyWithCache(errorCache = current.errorCache ++ errors)
|
|
||||||
|
|
||||||
if (depMgmtMissing.isEmpty)
|
val depMgmtMissing0 = successes.map {
|
||||||
cont0(current0)
|
case (_, (_, proj)) =>
|
||||||
else
|
res.dependencyManagementMissing(proj)
|
||||||
Missing(depMgmtMissing.toSeq, current0, cont0)
|
}.fold(Set.empty)(_ ++ _)
|
||||||
|
|
||||||
|
val depMgmtMissing = depMgmtMissing0 -- results.map(_._1)
|
||||||
|
|
||||||
|
if (depMgmtMissing.isEmpty) {
|
||||||
|
val res0 = successes.foldLeft(res) {
|
||||||
|
case (acc, (modVer, (source, proj))) =>
|
||||||
|
acc.copyWithCache(
|
||||||
|
projectCache = acc.projectCache + (
|
||||||
|
modVer -> (source, acc.withDependencyManagement(proj))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
Continue(res0, cont)
|
||||||
|
} else
|
||||||
|
Missing(depMgmtMissing.toSeq, res, cont0)
|
||||||
|
}
|
||||||
|
|
||||||
|
val current0 = current.copyWithCache(
|
||||||
|
errorCache = current.errorCache ++ errors
|
||||||
|
)
|
||||||
|
|
||||||
|
cont0(current0)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue