Slightly different indentation in output

This commit is contained in:
Alexandre Archambault 2016-01-23 15:42:08 +01:00
parent bf7386a218
commit 061dbe2f91
3 changed files with 36 additions and 27 deletions

View File

@ -169,19 +169,13 @@ class Helper(
print.flatMap(_ => fetchQuiet(modVers))
}
def indent(s: String): String =
if (s.isEmpty)
s
else
s.split('\n').map(" "+_).mkString("\n")
if (verbose0 >= 0) {
errPrintln(s"Dependencies:\n${indent(Print.dependenciesUnknownConfigs(dependencies))}")
errPrintln(s" Dependencies:\n${Print.dependenciesUnknownConfigs(dependencies, Map.empty)}")
if (forceVersions.nonEmpty) {
errPrintln("Force versions:")
errPrintln(" Force versions:")
for ((mod, ver) <- forceVersions.toVector.sortBy { case (mod, _) => mod.toString })
errPrintln(s" $mod:$ver")
errPrintln(s"$mod:$ver")
}
}
@ -210,16 +204,21 @@ class Helper(
}
exitIf(res.conflicts.nonEmpty) {
s"${res.conflicts.size} conflict(s):\n${Print.dependenciesUnknownConfigs(res.conflicts.toVector)}"
s"${res.conflicts.size} conflict(s):\n${Print.dependenciesUnknownConfigs(res.conflicts.toVector, projCache)}"
}
val trDeps = res.minDependencies.toVector
if (printResultStdout) {
errPrintln(s"Result:")
println(Print.dependenciesUnknownConfigs(trDeps))
} else if (verbose0 >= 0)
errPrintln(s"Result:\n${indent(Print.dependenciesUnknownConfigs(trDeps))}")
lazy val projCache = res.projectCache.mapValues { case (_, p) => p }
if (printResultStdout || verbose0 >= 0) {
errPrintln(s" Result:")
val depsStr = Print.dependenciesUnknownConfigs(trDeps, projCache)
if (printResultStdout)
println(depsStr)
else
errPrintln(depsStr)
}
def fetch(
sources: Boolean,
@ -230,9 +229,9 @@ class Helper(
if (verbose0 >= 0) {
val msg = cachePolicies match {
case Seq(CachePolicy.LocalOnly) =>
"Checking artifacts"
" Checking artifacts"
case _ =>
"Fetching artifacts"
" Fetching artifacts"
}
errPrintln(msg)
@ -259,7 +258,7 @@ class Helper(
None
if (verbose0 >= 1 && artifacts.nonEmpty)
println(s"Found ${artifacts.length} artifacts")
println(s" Found ${artifacts.length} artifacts")
val tasks = artifacts.map(artifact =>
(Cache.file(artifact, caches, cachePolicies.head, logger = logger, pool = pool) /: cachePolicies.tail)(
@ -278,9 +277,9 @@ class Helper(
logger.foreach(_.stop())
exitIf(errors.nonEmpty) {
s"${errors.size} error(s):\n" +
s" ${errors.size} error(s):\n" +
errors.map { case (artifact, error) =>
s" ${artifact.url}: $error"
s"${artifact.url}: $error"
}.mkString("\n")
}

View File

@ -1,20 +1,28 @@
package coursier.util
import coursier.core.{ Orders, Dependency }
import coursier.core.{Module, Project, Orders, Dependency}
object Print {
def dependency(dep: Dependency): String =
s"${dep.module}:${dep.version}:${dep.configuration}"
def dependenciesUnknownConfigs(deps: Seq[Dependency]): String = {
def dependenciesUnknownConfigs(deps: Seq[Dependency], projects: Map[(Module, String), Project]): String = {
val deps0 = deps.map { dep =>
dep.copy(
version = projects
.get(dep.moduleVersion)
.fold(dep.version)(_.version)
)
}
val minDeps = Orders.minDependencies(
deps.toSet,
deps0.toSet,
_ => Map.empty
)
val deps0 = minDeps
val deps1 = minDeps
.groupBy(_.copy(configuration = ""))
.toVector
.map { case (k, l) =>
@ -24,7 +32,7 @@ object Print {
(dep.module.organization, dep.module.name, dep.module.toString, dep.version)
}
deps0.map(dependency).mkString("\n")
deps1.map(dependency).mkString("\n")
}
}

View File

@ -295,7 +295,8 @@ object Tasks {
throw new Exception(s"Maximum number of iteration of dependency resolution reached")
if (res.conflicts.nonEmpty) {
println(s"${res.conflicts.size} conflict(s):\n ${Print.dependenciesUnknownConfigs(res.conflicts.toVector)}")
val projCache = res.projectCache.mapValues { case (_, p) => p }
println(s"${res.conflicts.size} conflict(s):\n ${Print.dependenciesUnknownConfigs(res.conflicts.toVector, projCache)}")
throw new Exception(s"Conflict(s) in dependency resolution")
}
@ -342,7 +343,8 @@ object Tasks {
configs
)
val repr = Print.dependenciesUnknownConfigs(finalDeps.toVector)
val projCache = res.projectCache.mapValues { case (_, p) => p }
val repr = Print.dependenciesUnknownConfigs(finalDeps.toVector, projCache)
println(repr.split('\n').map(" "+_).mkString("\n"))
}