diff --git a/sbt-coursier/src/main/scala/coursier/Tasks.scala b/sbt-coursier/src/main/scala/coursier/Tasks.scala index 6a3fdbd14..3699a8121 100644 --- a/sbt-coursier/src/main/scala/coursier/Tasks.scala +++ b/sbt-coursier/src/main/scala/coursier/Tasks.scala @@ -1091,6 +1091,7 @@ object Tasks { val classifiersRes = coursierSbtClassifiersResolution.value val mainRes = coursierResolutions.value + val configs0 = coursierConfigurations.value val res = if (withClassifiers && sbtClassifiers) @@ -1115,15 +1116,16 @@ object Tasks { } ) - val configs = { - val m = coursierConfigurations.value - shadedConfigOpt.fold(m) { - case (baseConfig, shadedConfig) => - (m - shadedConfig) + ( - baseConfig -> (m.getOrElse(baseConfig, Set()) - shadedConfig) - ) - } - } + val configs = + if (withClassifiers && sbtClassifiers) + cm.configurations.map(c => c.name -> Set.empty[String]).toMap + else + shadedConfigOpt.fold(configs0) { + case (baseConfig, shadedConfig) => + (configs0 - shadedConfig) + ( + baseConfig -> (configs0.getOrElse(baseConfig, Set()) - shadedConfig) + ) + } if (verbosityLevel >= 2) { val finalDeps = dependenciesWithConfig( diff --git a/sbt-coursier/src/sbt-test/sbt-coursier/simple/test b/sbt-coursier/src/sbt-test/sbt-coursier/simple/test index 2182f57b0..0fa50ca65 100644 --- a/sbt-coursier/src/sbt-test/sbt-coursier/simple/test +++ b/sbt-coursier/src/sbt-test/sbt-coursier/simple/test @@ -1,3 +1,4 @@ $ delete output > run $ exists output +> updateSbtClassifiers