From 516e89200b713f81ce8591e503e7458650d34f15 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Mon, 12 Sep 2011 19:48:10 -0400 Subject: [PATCH] Add custom resolvers from global plugin project to project/. Fixes #177. --- main/GlobalPlugin.scala | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/main/GlobalPlugin.scala b/main/GlobalPlugin.scala index 92dcd1d76..aed867043 100644 --- a/main/GlobalPlugin.scala +++ b/main/GlobalPlugin.scala @@ -18,6 +18,7 @@ object GlobalPlugin Seq[Setting[_]]( projectDescriptors ~= { _ ++ gp.descriptors }, projectDependencies ++= gp.projectID +: gp.dependencies, + resolvers <<= resolvers { rs => (rs ++ gp.resolvers).distinct }, internalDependencyClasspath in Runtime ~= { prev => (prev ++ gp.internalClasspath).distinct } ) @@ -38,10 +39,10 @@ object GlobalPlugin { import structure.{data, root, rootProject} val p: Scope = Scope.GlobalScope in ProjectRef(root, rootProject(root)) - val taskInit = (projectID, projectDependencies, projectDescriptors, fullClasspath in Runtime, internalDependencyClasspath in Runtime, exportedProducts in Runtime, ivyModule) map { - (pid, pdeps, pdescs, cp, intcp, prods, mod) => + val taskInit = (projectID, projectDependencies, projectDescriptors, resolvers, fullClasspath in Runtime, internalDependencyClasspath in Runtime, exportedProducts in Runtime, ivyModule) map { + (pid, pdeps, pdescs, rs, cp, intcp, prods, mod) => val depMap = pdescs + mod.dependencyMapping(log(state)) - GlobalPluginData(pid, pdeps, depMap, cp, prods ++ intcp) + GlobalPluginData(pid, pdeps, depMap, rs, cp, prods ++ intcp) } val task = taskInit mapReferenced Project.mapScope(Scope replaceThis p) evaluate data evaluate(state, structure, task) @@ -63,5 +64,5 @@ object GlobalPlugin version := "0.0" )) } -final case class GlobalPluginData(projectID: ModuleID, dependencies: Seq[ModuleID], descriptors: Map[ModuleRevisionId, ModuleDescriptor], fullClasspath: Classpath, internalClasspath: Classpath) +final case class GlobalPluginData(projectID: ModuleID, dependencies: Seq[ModuleID], descriptors: Map[ModuleRevisionId, ModuleDescriptor], resolvers: Seq[Resolver], fullClasspath: Classpath, internalClasspath: Classpath) final case class GlobalPlugin(data: GlobalPluginData, structure: BuildStructure, inject: Seq[Setting[_]], base: File)