diff --git a/ivy/IvyActions.scala b/ivy/IvyActions.scala index 0d62ea547..0b2f26305 100644 --- a/ivy/IvyActions.scala +++ b/ivy/IvyActions.scala @@ -186,7 +186,7 @@ object IvyActions def extractExcludes(report: UpdateReport): Map[ModuleID, Set[String]] = report.allMissing flatMap { case (_, mod, art) => art.classifier.map { c => (restrictedCopy(mod), c) } } groupBy(_._1) map { case (mod, pairs) => (mod, pairs.map(_._2).toSet) } - private[this] def restrictedCopy(m: ModuleID) = ModuleID(m.organization, m.name, m.revision, crossVersion = m.crossVersion) + private[this] def restrictedCopy(m: ModuleID) = ModuleID(m.organization, m.name, m.revision, crossVersion = m.crossVersion, extraAttributes = m.extraAttributes) private[this] def resolve(logging: UpdateLogging.Value)(ivy: Ivy, module: DefaultModuleDescriptor, defaultConf: String): (ResolveReport, Option[ResolveException]) = { val resolveOptions = new ResolveOptions diff --git a/ivy/IvyRetrieve.scala b/ivy/IvyRetrieve.scala index da673db0f..c36703c2f 100644 --- a/ivy/IvyRetrieve.scala +++ b/ivy/IvyRetrieve.scala @@ -39,7 +39,11 @@ object IvyRetrieve confReport.getEvictedNodes.map(node => toModuleID(node.getId)) def toModuleID(revID: ModuleRevisionId): ModuleID = - ModuleID(revID.getOrganisation, revID.getName, revID.getRevision) + { + import collection.JavaConverters._ + val extra = revID.getExtraAttributes.asInstanceOf[java.util.Map[String,String]].asScala + ModuleID(revID.getOrganisation, revID.getName, revID.getRevision, extraAttributes = extra.toMap) + } def toArtifact(art: IvyArtifact): Artifact = {