diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/CoursierConfiguration.scala b/modules/lm-coursier/src/main/scala/lmcoursier/CoursierConfiguration.scala index 93ddc9b67..2c2d844a2 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/CoursierConfiguration.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/CoursierConfiguration.scala @@ -38,7 +38,9 @@ import xsbti.Logger extraProjects: Vector[Project] = Vector.empty, forceVersions: Vector[(Module, String)] = Vector.empty, @since - reconciliation: Vector[(ModuleMatchers, Reconciliation)] = Vector.empty + reconciliation: Vector[(ModuleMatchers, Reconciliation)] = Vector.empty, + @since + classpathOrder: Boolean = true, ) { def withLog(log: Logger): CoursierConfiguration = diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala b/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala index c75215e09..93a19c87f 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala @@ -171,7 +171,8 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen projectName = projectName, sbtClassifiers = false, cache = cache0, - parallel = conf.parallelDownloads + parallel = conf.parallelDownloads, + classpathOrder = conf.classpathOrder, ) val sbtBootJarOverrides = SbtBootJars( diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsParams.scala b/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsParams.scala index d4a64e419..2f2873f7f 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsParams.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsParams.scala @@ -13,5 +13,6 @@ final case class ArtifactsParams( projectName: String, sbtClassifiers: Boolean, cache: FileCache[Task], - parallel: Int + parallel: Int, + classpathOrder: Boolean, ) diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsRun.scala b/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsRun.scala index d60438b7c..86d746cef 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsRun.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsRun.scala @@ -35,7 +35,7 @@ object ArtifactsRun { .withResolutions(params.resolutions) .withArtifactTypes(Set(Type.all)) .withClassifiers(params.classifiers.getOrElse(Nil).toSet) - .withClasspathOrder(false) + .withClasspathOrder(params.classpathOrder) .addExtraArtifacts { l => if (params.includeSignatures) l.flatMap(_._3.extra.get("sig").toSeq) 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 a3292bf20..364bfbaa7 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala @@ -70,7 +70,8 @@ object ArtifactsTasks { .withCachePolicies(cachePolicies) .withCredentials(credentials) .withFollowHttpToHttpsRedirections(true), - parallel = parallelDownloads + parallel = parallelDownloads, + classpathOrder = true, ) val resOrError = ArtifactsRun.artifacts(