From 1a51200ec59c309b67be8a0287ba53411e084b9f Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 30 Dec 2015 01:34:45 +0100 Subject: [PATCH] More verbose plugin output --- plugin/src/main/scala/coursier/Tasks.scala | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/plugin/src/main/scala/coursier/Tasks.scala b/plugin/src/main/scala/coursier/Tasks.scala index 6a079ba00..4ac4eed3f 100644 --- a/plugin/src/main/scala/coursier/Tasks.scala +++ b/plugin/src/main/scala/coursier/Tasks.scala @@ -263,14 +263,31 @@ object Tasks { Cache.fetch(caches, cachePolicy, checksums = checksums, logger = Some(logger), pool = pool) ) - def depsRepr = currentProject.dependencies.map { case (config, dep) => - s"${dep.module}:${dep.version}:$config->${dep.configuration}" - }.sorted + def depsRepr(deps: Seq[(String, Dependency)]) = + deps.map { case (config, dep) => + s"${dep.module}:${dep.version}:$config->${dep.configuration}" + }.sorted.distinct + + def depsRepr0(deps: Seq[Dependency]) = + deps.map { dep => + s"${dep.module}:${dep.version}:${dep.configuration}" + }.sorted.distinct + + if (verbosity >= 1) { + errPrintln(s"Repositories:") + val repositories0 = repositories.map { + case r: IvyRepository => r.copy(properties = Map.empty) + case r: InterProjectRepository => r.copy(projects = Nil) + case r => r + } + for (repo <- repositories0) + errPrintln(s" $repo") + } if (verbosity >= 0) errPrintln(s"Resolving ${currentProject.module.organization}:${currentProject.module.name}:${currentProject.version}") if (verbosity >= 1) - for (depRepr <- depsRepr.distinct) + for (depRepr <- depsRepr(currentProject.dependencies)) errPrintln(s" $depRepr") val res = startRes @@ -280,11 +297,16 @@ object Tasks { .leftMap(ex => throw new Exception(s"Exception during resolution", ex)) .merge + + if (!res.isDone) throw new Exception(s"Maximum number of iteration reached!") if (verbosity >= 0) errPrintln("Resolution done") + if (verbosity >= 1) + for (depRepr <- depsRepr0(res.dependencies.toSeq)) + errPrintln(s" $depRepr") def repr(dep: Dependency) = { // dep.version can be an interval, whereas the one from project can't