diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index b585bf1d1..e45c198de 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -242,7 +242,7 @@ object Defaults extends BuildCommon { forceUpdatePeriod :== None, // coursier settings csrExtraCredentials :== Nil, - csrLogger :== None, + csrLogger := LMCoursier.coursierLoggerTask.value, csrCachePath :== LMCoursier.defaultCacheLocation, csrMavenProfiles :== Set.empty, ) diff --git a/main/src/main/scala/sbt/internal/LMCoursier.scala b/main/src/main/scala/sbt/internal/LMCoursier.scala index 47cdc85e8..075767a23 100644 --- a/main/src/main/scala/sbt/internal/LMCoursier.scala +++ b/main/src/main/scala/sbt/internal/LMCoursier.scala @@ -9,11 +9,12 @@ package sbt package internal import java.io.File -import lmcoursier.definitions.{ Classifier, Configuration => CConfiguration } +import lmcoursier.definitions.{ Classifier, Configuration => CConfiguration, CacheLogger } import lmcoursier._ import sbt.librarymanagement._ import Keys._ import sbt.internal.librarymanagement.{ CoursierArtifactsTasks, CoursierInputsTasks } +import sbt.util.Logger private[sbt] object LMCoursier { def defaultCacheLocation: File = CoursierDependencyResolution.defaultCacheLocation @@ -89,6 +90,18 @@ private[sbt] object LMCoursier { } } + def coursierLoggerTask: Def.Initialize[Task[Option[CacheLogger]]] = Def.task { + val st = Keys.streams.value + val progress = useSuperShell.value + if (progress) None + else Some(new CoursierLogger(st.log)) + } + + private[sbt] class CoursierLogger(logger: Logger) extends CacheLogger { + override def downloadedArtifact(url: String, success: Boolean): Unit = + logger.debug(s"downloaded $url") + } + def publicationsSetting(packageConfigs: Seq[(Configuration, CConfiguration)]): Def.Setting[_] = { csrPublications := CoursierArtifactsTasks.coursierPublicationsTask(packageConfigs: _*).value }