Fixes resolutions wrongly reported as not done. Happened for
org.apache.spark:spark-core_2.11:1.3.1 in particular.
This commit is contained in:
Alexandre Archambault 2015-06-20 15:02:35 +01:00
parent 9455a9906f
commit 57cf737852
1 changed files with 5 additions and 2 deletions

View File

@ -403,6 +403,9 @@ object Resolver {
* The "next" dependency set, made of the current dependencies and their transitive dependencies, * The "next" dependency set, made of the current dependencies and their transitive dependencies,
* trying to solve version conflicts. Transitive dependencies are calculated with the current cache. * trying to solve version conflicts. Transitive dependencies are calculated with the current cache.
* *
* May contain dependencies added in previous iterations, but no more required. These are filtered below, see
* @newDependencies.
*
* Returns a tuple made of the conflicting dependencies, and all the dependencies. * Returns a tuple made of the conflicting dependencies, and all the dependencies.
*/ */
def nextDependenciesAndConflicts = { def nextDependenciesAndConflicts = {
@ -426,8 +429,8 @@ object Resolver {
*/ */
def isDone: Boolean = { def isDone: Boolean = {
def isFixPoint = { def isFixPoint = {
val (nextConflicts, nextDependencies) = nextDependenciesAndConflicts val (nextConflicts, _) = nextDependenciesAndConflicts
dependencies == (nextDependencies ++ nextConflicts).toSet && conflicts == nextConflicts.toSet dependencies == (newDependencies ++ nextConflicts) && conflicts == nextConflicts.toSet
} }
missingFromCache.isEmpty && isFixPoint missingFromCache.isEmpty && isFixPoint