From aebde6b3e65c36516867b316d49a379b4f75eea7 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Wed, 6 Jul 2011 07:30:47 -0400 Subject: [PATCH] move dependency mapping to IvySbt#Module --- ivy/Ivy.scala | 5 +++++ main/Defaults.scala | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ivy/Ivy.scala b/ivy/Ivy.scala index cf15bf44a..bd40d92d3 100644 --- a/ivy/Ivy.scala +++ b/ivy/Ivy.scala @@ -108,6 +108,11 @@ final class IvySbt(val configuration: IvyConfiguration) withIvy[T](log) { ivy => f(ivy, moduleDescriptor0, defaultConfig0) } def moduleDescriptor(log: Logger): DefaultModuleDescriptor = withModule(log)((_,md,_) => md) + def dependencyMapping(log: Logger): (ModuleRevisionId, ModuleDescriptor) = + { + val md = moduleDescriptor(log) + (md.getModuleRevisionId, md) + } def defaultConfig(log: Logger): String = withModule(log)( (_,_,dc) => dc) // these should only be referenced by withModule because lazy vals synchronize on this object // withIvy explicitly locks the IvySbt object, so they have to be done in the right order to avoid deadlock diff --git a/main/Defaults.scala b/main/Defaults.scala index f9159f29b..f75f5cee8 100644 --- a/main/Defaults.scala +++ b/main/Defaults.scala @@ -747,10 +747,7 @@ object Classpaths def depMap(projects: Seq[(ProjectRef,ResolvedProject)], data: Settings[Scope], log: Logger): Task[Map[ModuleRevisionId, ModuleDescriptor]] = projects.flatMap { case (p,_) => ivyModule in p get data }.join.map { mods => - (mods.map{ mod => - val md = mod.moduleDescriptor(log) - (md.getModuleRevisionId, md) - }).toMap + mods map { _.dependencyMapping(log) } toMap ; } def projectResolverTask: Initialize[Task[Resolver]] =