From 6d08ced648ba996c1416b5eb903e688e885c8498 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Thu, 1 Jun 2017 09:56:23 +0200 Subject: [PATCH] Switch to sbt 1.0.0-M6 --- project/Settings.scala | 2 +- .../src/main/scala/coursier/Tasks.scala | 111 ++++++++++-------- 2 files changed, 63 insertions(+), 50 deletions(-) diff --git a/project/Settings.scala b/project/Settings.scala index 3dbf960fd..d35bae7bc 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -199,7 +199,7 @@ object Settings { sbtVersion := { scalaBinaryVersion.value match { case "2.10" => "0.13.8" - case "2.12" => "1.0.0-M5" + case "2.12" => "1.0.0-M6" case _ => sbtVersion.value } }, diff --git a/sbt-coursier/src/main/scala/coursier/Tasks.scala b/sbt-coursier/src/main/scala/coursier/Tasks.scala index 56fd43808..5df60ba81 100644 --- a/sbt-coursier/src/main/scala/coursier/Tasks.scala +++ b/sbt-coursier/src/main/scala/coursier/Tasks.scala @@ -499,15 +499,20 @@ object Tasks { // Downloads are already parallel, no need to parallelize further anyway synchronized { - lazy val cm = coursierSbtClassifiersModule.value + val cm = coursierSbtClassifiersModule.value - lazy val projectName = thisProjectRef.value.project + val projectName = thisProjectRef.value.project + val baseConfigGraphs = coursierConfigGraphs.value + + val sv = scalaVersion.value + val sbv = scalaBinaryVersion.value + + val proj = coursierProject.value + val publications = coursierPublications.value + val fallbackDeps = coursierFallbackDependencies.value val (currentProject, fallbackDependencies, configGraphs) = if (sbtClassifiers) { - val sv = scalaVersion.value - val sbv = scalaBinaryVersion.value - val proj = FromSbt.project( cm.id, cm.modules, @@ -523,12 +528,8 @@ object Tasks { ) (proj, fallbackDeps, Vector(cm.configurations.map(_.name).toSet)) - } else { - val proj = coursierProject.value - val publications = coursierPublications.value - val fallbackDeps = coursierFallbackDependencies.value - (proj.copy(publications = publications), fallbackDeps, coursierConfigGraphs.value) - } + } else + (proj.copy(publications = publications), fallbackDeps, baseConfigGraphs) val interProjectDependencies = coursierInterProjectDependencies.value @@ -543,18 +544,19 @@ object Tasks { // are these always defined? (e.g. for Java only projects?) val so = scalaOrganization.value - val sv = scalaVersion.value - val sbv = scalaBinaryVersion.value val userForceVersions = dependencyOverrides.value.map( FromSbt.moduleVersion(_, sv, sbv) ).toMap + val sbtResolvers = coursierSbtResolvers.value + val defaultResolvers = coursierRecursiveResolvers.value + val resolvers = if (sbtClassifiers) - coursierSbtResolvers.value + sbtResolvers else - coursierRecursiveResolvers.value.distinct + defaultResolvers.distinct val parentProjectCache: ProjectCache = coursierParentProjectCache.value .get(resolvers) @@ -600,11 +602,11 @@ object Tasks { ) ++ sys.props val useSbtCredentials = coursierUseSbtCredentials.value + val sbtCreds = sbt.Keys.credentials.value val authenticationByHost = if (useSbtCredentials) - sbt.Keys.credentials - .value + sbtCreds .flatMap { case dc: sbt.DirectCredentials => List(dc) case fc: sbt.FileCredentials => @@ -861,11 +863,16 @@ object Tasks { val verbosityLevel = coursierVerbosity.value + val classifiersRes = coursierSbtClassifiersResolution.value + val mainRes = coursierResolutions.value + val res = if (withClassifiers && sbtClassifiers) - Seq(coursierSbtClassifiersResolution.value) + Seq(classifiersRes) else - coursierResolutions.value.values.toVector + mainRes.values.toVector + + val trClassifiers = transitiveClassifiers.value val classifiers = if (withClassifiers) @@ -873,7 +880,7 @@ object Tasks { if (sbtClassifiers) cm.classifiers else - transitiveClassifiers.value + trClassifiers } else None @@ -1047,13 +1054,16 @@ object Tasks { internalSbtScalaProvider.jars() ) - lazy val cm = coursierSbtClassifiersModule.value + val cm = coursierSbtClassifiersModule.value + + val sv = scalaVersion.value + val sbv = scalaBinaryVersion.value + + val proj = coursierProject.value + val publications = coursierPublications.value val currentProject = - if (sbtClassifiers) { - val sv = scalaVersion.value - val sbv = scalaBinaryVersion.value - + if (sbtClassifiers) FromSbt.project( cm.id, cm.modules, @@ -1061,22 +1071,21 @@ object Tasks { sv, sbv ) - } else { - val proj = coursierProject.value - val publications = coursierPublications.value + else proj.copy(publications = publications) - } val log = streams.value.log val verbosityLevel = coursierVerbosity.value + val classifiersRes = coursierSbtClassifiersResolution.value + val mainRes = coursierResolutions.value + val res = - if (withClassifiers && sbtClassifiers) { - val r = coursierSbtClassifiersResolution.value - Map(cm.configurations.map(c => c.name).toSet -> r) - } else - coursierResolutions.value + if (withClassifiers && sbtClassifiers) + Map(cm.configurations.map(c => c.name).toSet -> classifiersRes) + else + mainRes val configResolutions = res.flatMap { case (configs, r) => @@ -1117,13 +1126,15 @@ object Tasks { log.info(repr.split('\n').map(" " + _).mkString("\n")) } + val trClassifiers = transitiveClassifiers.value + val classifiers = if (withClassifiers) Some { if (sbtClassifiers) cm.classifiers else - transitiveClassifiers.value + trClassifiers } else None @@ -1203,12 +1214,15 @@ object Tasks { lazy val projectName = thisProjectRef.value.project - val currentProject = - if (sbtClassifiers) { - val cm = coursierSbtClassifiersModule.value - val sv = scalaVersion.value - val sbv = scalaBinaryVersion.value + val cm = coursierSbtClassifiersModule.value + val sv = scalaVersion.value + val sbv = scalaBinaryVersion.value + val proj = coursierProject.value + val publications = coursierPublications.value + + val currentProject = + if (sbtClassifiers) FromSbt.project( cm.id, cm.modules, @@ -1216,18 +1230,17 @@ object Tasks { sv, sbv ) - } else { - val proj = coursierProject.value - val publications = coursierPublications.value + else proj.copy(publications = publications) - } + + val classifiersRes = coursierSbtClassifiersResolution.value + val mainRes = coursierResolutions.value val resolutions = - if (sbtClassifiers) { - val r = coursierSbtClassifiersResolution.value - Map(currentProject.configurations.keySet -> r) - } else - coursierResolutions.value + if (sbtClassifiers) + Map(currentProject.configurations.keySet -> classifiersRes) + else + mainRes val config = configuration.value.name val configs = coursierConfigurations.value