diff --git a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala index bf2a41121..39e3a24db 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala @@ -24,7 +24,7 @@ object ArtifactsTasks { val resTask: sbt.Def.Initialize[sbt.Task[Seq[Resolution]]] = if (withClassifiers && sbtClassifiers) - Def.task(Seq(coursierSbtClassifiersResolution.value)) + Def.task(coursierSbtClassifiersResolutions.value.values.toVector) else Def.task(coursierResolutions.value.values.toVector) diff --git a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/CoursierPlugin.scala b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/CoursierPlugin.scala index e03780feb..8cfdfbb14 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/CoursierPlugin.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/CoursierPlugin.scala @@ -30,7 +30,7 @@ object CoursierPlugin extends AutoPlugin { val coursierParentProjectCache = Keys.coursierParentProjectCache val coursierResolutions = Keys.coursierResolutions - val coursierSbtClassifiersResolution = Keys.coursierSbtClassifiersResolution + val coursierSbtClassifiersResolutions = Keys.coursierSbtClassifiersResolutions val coursierDependencyTree = Keys.coursierDependencyTree val coursierDependencyInverseTree = Keys.coursierDependencyInverseTree @@ -181,13 +181,13 @@ object CoursierPlugin extends AutoPlugin { sys.error(s"Resolution for configuration $config not found") ) }, - coursierSbtClassifiersResolution := (Def.taskDyn { + coursierSbtClassifiersResolutions := (Def.taskDyn { val missingOk = (updateConfiguration in updateSbtClassifiers).value.missingOk ResolutionTasks.resolutionsTask( sbtClassifiers = true, missingOk = missingOk, ) - }).value.head._2 + }).value ) override lazy val buildSettings = super.buildSettings ++ Seq( diff --git a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/DisplayTasks.scala b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/DisplayTasks.scala index 1af43bd39..8f56a12fc 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/DisplayTasks.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/DisplayTasks.scala @@ -37,17 +37,9 @@ object DisplayTasks { val resolutionsTask = if (sbtClassifiers) - Def.task { - val currentProject = currentProjectTask.value - val classifiersRes = coursierSbtClassifiersResolution.value - currentProject - .configurations - .keysIterator - .map(config => ToCoursier.configuration(config) -> classifiersRes) - .toMap - } + coursierSbtClassifiersResolutions else - Def.task(coursierResolutions.value) + coursierResolutions Def.task { diff --git a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/Keys.scala b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/Keys.scala index 4599d2cf1..6fe4a8d28 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/Keys.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/Keys.scala @@ -33,7 +33,7 @@ object Keys { private[coursier] val actualCoursierResolution = TaskKey[Resolution]("coursier-resolution") - val coursierSbtClassifiersResolution = TaskKey[Resolution]("coursier-sbt-classifiers-resolution") + val coursierSbtClassifiersResolutions = TaskKey[Map[Configuration, Resolution]]("coursier-sbt-classifiers-resolution") val coursierDependencyTree = TaskKey[Unit]( "coursier-dependency-tree", diff --git a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/UpdateTasks.scala b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/UpdateTasks.scala index 2d312f242..0cc24a47a 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/UpdateTasks.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/UpdateTasks.scala @@ -34,17 +34,9 @@ object UpdateTasks { val resTask = if (withClassifiers && sbtClassifiers) - Def.task { - val mod = coursierSbtClassifiersModule.value - val classifiersRes = coursierSbtClassifiersResolution.value - mod - .configurations - .iterator - .map(c => Configuration(c.name) -> classifiersRes) - .toMap - } + coursierSbtClassifiersResolutions else - Def.task(coursierResolutions.value) + coursierResolutions // we should be able to call .value on that one here, its conditions don't originate from other tasks val artifactFilesOrErrors0Task =