diff --git a/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala b/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala index 94ebf893e..4a9639567 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/CoursierDependencyResolution.scala @@ -222,9 +222,9 @@ class CoursierDependencyResolution(conf: CoursierConfiguration) extends Dependen val e = for { resolutions <- ResolutionRun.resolutions(resolutionParams, verbosityLevel, log) artifactsParams0 = artifactsParams(resolutions) - artifacts <- ArtifactsRun.artifactsResult(artifactsParams0, verbosityLevel, log) + artifacts <- ArtifactsRun(artifactsParams0, verbosityLevel, log) } yield { - val updateParams0 = updateParams(resolutions, artifacts) + val updateParams0 = updateParams(resolutions, artifacts.fullDetailedArtifacts) UpdateRun.update(updateParams0, verbosityLevel, log) } e.left.map(unresolvedWarningOrThrow(uwconfig, _)) 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 1dece31b0..839cc7868 100644 --- a/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsRun.scala +++ b/modules/lm-coursier/src/main/scala/lmcoursier/internal/ArtifactsRun.scala @@ -1,31 +1,19 @@ package lmcoursier.internal -import java.io.File - +import coursier.Artifacts import coursier.cache.CacheLogger import coursier.cache.loggers.{FallbackRefreshDisplay, ProgressBarRefreshDisplay, RefreshLogger} import coursier.core.Type -import coursier.util.Artifact import sbt.util.Logger -import coursier.core.Dependency -import coursier.core.Publication -// private[coursier] +// private[lmcoursier] object ArtifactsRun { - def artifacts( + def apply( params: ArtifactsParams, verbosityLevel: Int, log: Logger - ): Either[coursier.error.FetchError, Map[Artifact, File]] = - artifactsResult(params, verbosityLevel, log) - .map(_.collect { case (_, _, a, Some(f)) => (a, f) }.toMap) - - def artifactsResult( - params: ArtifactsParams, - verbosityLevel: Int, - log: Logger - ): Either[coursier.error.FetchError, Seq[(Dependency, Publication, Artifact, Option[File])]] = { + ): Either[coursier.error.FetchError, Artifacts.Result] = { val printOptionalMessage = verbosityLevel >= 0 && verbosityLevel <= 1 @@ -59,16 +47,16 @@ object ArtifactsRun { if (needsLock) Lock.lock.synchronized { - artifactsResultNoLock(params, coursierLogger) + result(params, coursierLogger) } else - artifactsResultNoLock(params, coursierLogger) + result(params, coursierLogger) } - private def artifactsResultNoLock( + private def result( params: ArtifactsParams, coursierLogger: CacheLogger - ): Either[coursier.error.FetchError, Seq[(Dependency, Publication, Artifact, Option[File])]] = + ): Either[coursier.error.FetchError, Artifacts.Result] = coursier.Artifacts() .withResolutions(params.resolutions) .withArtifactTypes(Set(Type.all)) @@ -91,6 +79,5 @@ object ArtifactsRun { } .withCache(params.cache.withLogger(coursierLogger)) .eitherResult() - .map(_.fullDetailedArtifacts) // FIXME Misses extraArtifacts, that we don't use for now though } 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 39e3a24db..e31a540ff 100644 --- a/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala +++ b/modules/sbt-coursier/src/main/scala/coursier/sbtcoursier/ArtifactsTasks.scala @@ -75,7 +75,7 @@ object ArtifactsTasks { missingOk = sbtClassifiers ) - val resOrError = ArtifactsRun.artifacts( + val resOrError = ArtifactsRun( params, verbosityLevel, log @@ -85,7 +85,7 @@ object ArtifactsTasks { case Left(err) => throw err case Right(res0) => - res0 + res0.artifacts.toMap } } }