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 = {
|
||||
|
||||
val errors = results
|
||||
.collect{case (modVer, -\/(errs)) => modVer -> errs }
|
||||
val successes = results
|
||||
.collect{case (modVer, \/-(repoProj)) => modVer -> repoProj }
|
||||
|
||||
val depMgmtMissing0 = successes
|
||||
.map{case (_, (_, proj)) => current.dependencyManagementMissing(proj) }
|
||||
.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 errors = results.collect {
|
||||
case (modVer, -\/(errs)) =>
|
||||
modVer -> errs
|
||||
}
|
||||
val successes = results.collect {
|
||||
case (modVer, \/-(repoProj)) =>
|
||||
modVer -> repoProj
|
||||
}
|
||||
|
||||
val current0 = current
|
||||
.copyWithCache(errorCache = current.errorCache ++ errors)
|
||||
def cont0(res: Resolution): ResolutionProcess = {
|
||||
|
||||
if (depMgmtMissing.isEmpty)
|
||||
cont0(current0)
|
||||
else
|
||||
Missing(depMgmtMissing.toSeq, current0, cont0)
|
||||
val depMgmtMissing0 = successes.map {
|
||||
case (_, (_, proj)) =>
|
||||
res.dependencyManagementMissing(proj)
|
||||
}.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