From 05d8224c496ca30828bdf3bcb9cb7d65b353ace1 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Tue, 5 Apr 2016 16:24:37 +0200 Subject: [PATCH] Add -P option to force display of progress bars... ...else also look at the COURSIER_PROGRESS env var to force enabling or disabling them. This deprecates the COURSIER_NO_TERM env var. --- cache/src/main/scala/coursier/TermDisplay.scala | 11 +++++++++-- cli/src/main/scala-2.11/coursier/cli/Helper.scala | 13 +++++++++++-- cli/src/main/scala-2.11/coursier/cli/Options.scala | 7 +++++-- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/cache/src/main/scala/coursier/TermDisplay.scala b/cache/src/main/scala/coursier/TermDisplay.scala index a8edc72a0..9243d8c80 100644 --- a/cache/src/main/scala/coursier/TermDisplay.scala +++ b/cache/src/main/scala/coursier/TermDisplay.scala @@ -56,10 +56,17 @@ object Terminal { } object TermDisplay { - private def defaultFallbackMode: Boolean = { - val env = sys.env.get("COURSIER_NO_TERM").nonEmpty + def defaultFallbackMode: Boolean = { + val env0 = sys.env.get("COURSIER_PROGRESS").map(_.toLowerCase).collect { + case "true" | "enable" | "1" => true + case "false" | "disable" | "0" => false + } + def compatibilityEnv = sys.env.get("COURSIER_NO_TERM").nonEmpty + def nonInteractive = System.console() == null + val env = env0.getOrElse(compatibilityEnv) + env || nonInteractive } diff --git a/cli/src/main/scala-2.11/coursier/cli/Helper.scala b/cli/src/main/scala-2.11/coursier/cli/Helper.scala index 8da8c1414..1f4e28e3a 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Helper.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Helper.scala @@ -201,9 +201,15 @@ class Helper( filter = Some(dep => keepOptional || !dep.optional) ) + val loggerFallbackMode = + !progress && TermDisplay.defaultFallbackMode + val logger = if (verbosityLevel >= 0) - Some(new TermDisplay(new OutputStreamWriter(System.err))) + Some(new TermDisplay( + new OutputStreamWriter(System.err), + fallbackMode = loggerFallbackMode + )) else None @@ -333,7 +339,10 @@ class Helper( val logger = if (verbosityLevel >= 0) - Some(new TermDisplay(new OutputStreamWriter(System.err))) + Some(new TermDisplay( + new OutputStreamWriter(System.err), + fallbackMode = loggerFallbackMode + )) else None diff --git a/cli/src/main/scala-2.11/coursier/cli/Options.scala b/cli/src/main/scala-2.11/coursier/cli/Options.scala index 1e2a2d887..cc5cc5168 100644 --- a/cli/src/main/scala-2.11/coursier/cli/Options.scala +++ b/cli/src/main/scala-2.11/coursier/cli/Options.scala @@ -18,6 +18,9 @@ case class CommonOptions( @Help("Increase verbosity (specify several times to increase more)") @Short("v") verbose: Int @@ Counter, + @Help("Force display of progress bars") + @Short("P") + progress: Boolean, @Help("Maximum number of resolution iterations (specify a negative value for unlimited, default: 100)") @Short("N") maxIterations: Int = 100, @@ -163,7 +166,7 @@ case class BootstrapOptions( mainClass: String, @Short("o") output: String = "bootstrap", - @Short("D") + @Short("d") downloadDir: String, @Short("f") force: Boolean, @@ -172,7 +175,7 @@ case class BootstrapOptions( standalone: Boolean, @Help("Set Java properties in the generated launcher.") @Value("key=value") - @Short("P") + @Short("D") property: List[String], @Help("Set Java command-line options in the generated launcher.") @Value("option")