Fixes #1704. Fixes cached resolution + module-level exclusions

This commit is contained in:
Eugene Yokota 2014-11-04 19:01:30 -05:00
parent b60bd95d73
commit 1f49e6a5ce
1 changed files with 6 additions and 1 deletions

View File

@ -87,8 +87,10 @@ private[sbt] class CachedResolutionResolveCache() {
case rules => Some(conf + "->(" + (rules map includeRuleString).mkString(",") + ")")
}
})
val mes = parent.getAllExcludeRules.toVector
val mesStr = (mes map excludeRuleString).mkString(",")
val os = extractOverrides(parent)
val moduleLevel = s"""dependencyOverrides=${os.mkString(",")}"""
val moduleLevel = s"""dependencyOverrides=${os.mkString(",")};moduleExclusions=$mesStr"""
val depsString = s"""$mrid;${confMap.mkString(",")};isForce=${dd.isForce};isChanging=${dd.isChanging};isTransitive=${dd.isTransitive};""" +
s"""exclusions=${exclusions.mkString(",")};inclusions=${inclusions.mkString(",")};$moduleLevel;"""
val sha1 = Hash.toHex(Hash(depsString))
@ -102,6 +104,9 @@ private[sbt] class CachedResolutionResolveCache() {
os foreach { ovr =>
md1.addDependencyDescriptorMediator(ovr.moduleId, ovr.pm, ovr.ddm)
}
mes foreach { exclude =>
md1.addExcludeRule(exclude)
}
(md1, IvySbt.isChanging(dd))
}
def extractOverrides(md0: ModuleDescriptor): Vector[IvyOverride] =