From 4226df911d640a97860d7235d1fd7773228d27b9 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 6 Feb 2019 15:20:51 -0800 Subject: [PATCH] Switch to coursier 1.1.0-M11-1 --- build.sbt | 2 +- .../coursier/lmcoursier/ArtifactsRun.scala | 22 ++++++++----------- .../lmcoursier/InterProjectRepository.scala | 3 +-- .../lmcoursier/ResolutionParams.scala | 3 +-- .../coursier/lmcoursier/ResolutionRun.scala | 11 +++++----- .../scala/coursier/lmcoursier/ToSbt.scala | 2 +- .../scala/coursier/lmcoursier/UpdateRun.scala | 6 ++--- .../coursier/sbtcoursier/DisplayTasks.scala | 13 +++++++---- .../src/main/scala/coursier/Shading.scala | 11 +++++----- 9 files changed, 35 insertions(+), 38 deletions(-) diff --git a/build.sbt b/build.sbt index ce45200eb..e293db71c 100644 --- a/build.sbt +++ b/build.sbt @@ -15,7 +15,7 @@ inThisBuild(List( ) )) -val coursierVersion = "1.1.0-M10" +val coursierVersion = "1.1.0-M11-1" lazy val `lm-coursier` = project .in(file("modules/lm-coursier")) diff --git a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ArtifactsRun.scala b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ArtifactsRun.scala index ba18b1a90..86bcacfa5 100644 --- a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ArtifactsRun.scala +++ b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ArtifactsRun.scala @@ -43,19 +43,15 @@ object ArtifactsRun { artifactsLogger = params.createLogger() val artifactFileOrErrorTasks = allArtifacts.toVector.distinct.map { a => - def f(p: CachePolicy) = - Cache.file[Task]( - a, - params.cache, - p, - checksums = params.artifactsChecksums, - logger = Some(artifactsLogger), - pool = pool, - ttl = params.ttl - ) - - params.cachePolicies.tail - .foldLeft(f(params.cachePolicies.head))(_ orElse f(_)) + Cache.file[Task]( + a, + params.cache, + params.cachePolicies, + checksums = params.artifactsChecksums, + logger = Some(artifactsLogger), + pool = pool, + ttl = params.ttl + ) .run .map((a, _)) } diff --git a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/InterProjectRepository.scala b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/InterProjectRepository.scala index 6748ea87d..153821df5 100644 --- a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/InterProjectRepository.scala +++ b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/InterProjectRepository.scala @@ -1,6 +1,5 @@ package coursier.lmcoursier -import coursier.Fetch import coursier.core._ import coursier.util.{EitherT, Monad} @@ -13,7 +12,7 @@ final case class InterProjectRepository(projects: Seq[Project]) extends Reposito def find[F[_]]( module: Module, version: String, - fetch: Fetch.Content[F] + fetch: Repository.Fetch[F] )(implicit F: Monad[F] ): EitherT[F, String, (Artifact.Source, Project)] = { diff --git a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionParams.scala b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionParams.scala index b34f3bf3a..287d4cbc9 100644 --- a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionParams.scala +++ b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionParams.scala @@ -76,8 +76,7 @@ final case class ResolutionParams( .collect { case (config, dep) if configs(config) => dep - } - .toSet, + }, filter = noOptionalFilter, userActivations = if (userEnabledProfiles.isEmpty) diff --git a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionRun.scala b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionRun.scala index 7212e72bb..c92c1acc3 100644 --- a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionRun.scala +++ b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ResolutionRun.scala @@ -3,7 +3,7 @@ package coursier.lmcoursier import java.util.concurrent.ExecutorService import coursier.cache.CacheLogger -import coursier.{Cache, Fetch, Resolution} +import coursier.{Cache, Resolution} import coursier.core._ import coursier.ivy.IvyRepository import coursier.maven.MavenRepository @@ -32,12 +32,11 @@ object ResolutionRun { pool = Schedulable.fixedThreadPool(params.parallelDownloads) resLogger = params.createLogger() - val fetch = Fetch.from( + val fetchs = Cache.fetchs[Task](params.cache, params.cachePolicies, checksums = params.checksums, logger = Some(resLogger), pool = pool, ttl = params.ttl) + + val fetch = ResolutionProcess.fetch( params.repositories, - Cache.fetch[Task](params.cache, params.cachePolicies.head, checksums = params.checksums, logger = Some(resLogger), pool = pool, ttl = params.ttl), - params.cachePolicies.tail.map(p => - Cache.fetch[Task](params.cache, p, checksums = params.checksums, logger = Some(resLogger), pool = pool, ttl = params.ttl) - ): _* + fetchs.head, fetchs.tail: _* ) def depsRepr(deps: Seq[(Configuration, Dependency)]) = diff --git a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ToSbt.scala b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ToSbt.scala index 2a969138d..258dd163b 100644 --- a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ToSbt.scala +++ b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/ToSbt.scala @@ -218,7 +218,7 @@ object ToSbt { val configReports = configs.map { case (config, extends0) => - val configDeps = extends0.flatMap(configDependencies.getOrElse(_, Nil)) + val configDeps = extends0.toSeq.sortBy(_.value).flatMap(configDependencies.getOrElse(_, Nil)) val subRes = resolutions(config).subset(configDeps) val reports = ToSbt.moduleReports( diff --git a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/UpdateRun.scala b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/UpdateRun.scala index 8ddfe312f..cdecaf1ff 100644 --- a/modules/lm-coursier/src/main/scala/coursier/lmcoursier/UpdateRun.scala +++ b/modules/lm-coursier/src/main/scala/coursier/lmcoursier/UpdateRun.scala @@ -11,7 +11,7 @@ object UpdateRun { // Move back to coursier.util (in core module) after 1.0? private def allDependenciesByConfig( res: Map[Configuration, Resolution], - depsByConfig: Map[Configuration, Set[Dependency]], + depsByConfig: Map[Configuration, Seq[Dependency]], configs: Map[Configuration, Set[Configuration]] ): Map[Configuration, Set[Dependency]] = { @@ -35,7 +35,7 @@ object UpdateRun { // Move back to coursier.util (in core module) after 1.0? private def dependenciesWithConfig( res: Map[Configuration, Resolution], - depsByConfig: Map[Configuration, Set[Dependency]], + depsByConfig: Map[Configuration, Seq[Dependency]], configs: Map[Configuration, Set[Configuration]] ): Set[Dependency] = allDependenciesByConfig(res, depsByConfig, configs) @@ -74,7 +74,7 @@ object UpdateRun { if (verbosityLevel >= 2) { val finalDeps = dependenciesWithConfig( configResolutions, - depsByConfig.map { case (k, l) => k -> l.toSet }, + depsByConfig, params.configs ) 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 1e853a1e7..b43ff0d5e 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/DisplayTasks.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/DisplayTasks.scala @@ -67,7 +67,7 @@ object DisplayTasks { (dep.module.organization, dep.module.name, dep.version) } - val subRes = res.subset(dependencies0.toSet) + val subRes = res.subset(dependencies0) ResolutionResult(subGraphConfigs, subRes, dependencies0) } @@ -87,8 +87,8 @@ object DisplayTasks { println( s"$projectName (configurations ${subGraphConfigs.toVector.sorted.mkString(", ")})" + "\n" + Print.dependencyTree( - dependencies, resolution, + dependencies, printExclusions = true, inverse, colors = !sys.props.get("sbt.log.noformat").toSeq.contains("true") @@ -114,8 +114,13 @@ object DisplayTasks { for (ResolutionResult(subGraphConfigs, resolution, _) <- resolutions) { val roots: Seq[Dependency] = resolution.transitiveDependencies.filter(f => f.module == module) val strToPrint = s"$projectName (configurations ${subGraphConfigs.toVector.sorted.map(_.value).mkString(", ")})" + "\n" + - Print.reverseTree(roots, resolution, withExclusions = true) - .render(_.repr(Colors.get(!sys.props.get("sbt.log.noformat").toSeq.contains("true")))) + Print.dependencyTree( + resolution, + roots, + printExclusions = true, + reverse = true, + colors = !sys.props.get("sbt.log.noformat").toSeq.contains("true") + ) println(strToPrint) result.append(strToPrint) result.append("\n") diff --git a/modules/sbt-shading/src/main/scala/coursier/Shading.scala b/modules/sbt-shading/src/main/scala/coursier/Shading.scala index b410aa10d..5334205c7 100644 --- a/modules/sbt-shading/src/main/scala/coursier/Shading.scala +++ b/modules/sbt-shading/src/main/scala/coursier/Shading.scala @@ -65,16 +65,16 @@ object Shading { def configDependencies(config: Configuration) = { - def minDependencies(dependencies: Set[Dependency]): Set[Dependency] = + def minDependencies(dependencies: Seq[Dependency]): Seq[Dependency] = Orders.minDependencies( - dependencies, + dependencies.toSet, dep => res .projectCache .get(dep) .map(_._2.configurations) .getOrElse(Map.empty) - ) + ).toSeq // sort so that this is deterministic? val includedConfigs = configs.getOrElse(config, Set.empty) + config @@ -85,7 +85,6 @@ object Shading { case (cfg, dep) if includedConfigs(cfg) => dep } - .toSet ) } @@ -105,7 +104,7 @@ object Shading { val compileDeps = configDependencies(baseConfig) val shadedDeps = configDependencies(shadedConf) - val compileOnlyDeps = compileDeps.filterNot(shadedDeps) + val compileOnlyDeps = compileDeps.filterNot(shadedDeps.toSet) log.debug( s"Found ${compileDeps.size} dependencies in $baseConfig\n" + @@ -120,7 +119,7 @@ object Shading { shadedDeps.toVector.map(" " + _).sorted.mkString("\n") ) - def files(deps: Set[Dependency]) = res + def files(deps: Seq[Dependency]) = res .subset(deps) .dependencies .toSeq