summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorAnton Sviridov <keynmol@gmail.com>2018-07-14 02:21:27 +0100
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-14 09:21:27 +0800
commit2d779b8ccd0a2f29a7d14dc193b4ad093142b521 (patch)
tree5752f56c69bf8a873671830afab47349c55b6119 /main
parent5616dc9b46e033b39d0df12e42173ee1c875cee4 (diff)
downloadmill-2d779b8ccd0a2f29a7d14dc193b4ad093142b521.tar.gz
mill-2d779b8ccd0a2f29a7d14dc193b4ad093142b521.tar.bz2
mill-2d779b8ccd0a2f29a7d14dc193b4ad093142b521.zip
add --disable-ticker, handle --color correctly (#379)
Diffstat (limited to 'main')
-rw-r--r--main/src/mill/MillMain.scala23
-rw-r--r--main/src/mill/main/MainModule.scala2
-rw-r--r--main/src/mill/main/MainRunner.scala2
-rw-r--r--main/src/mill/main/ReplApplyHandler.scala2
-rw-r--r--main/test/src/mill/util/ScriptTestSuite.scala3
-rw-r--r--main/test/src/mill/util/TestEvaluator.scala2
6 files changed, 27 insertions, 7 deletions
diff --git a/main/src/mill/MillMain.scala b/main/src/mill/MillMain.scala
index ad1bd39d..c3a771d3 100644
--- a/main/src/mill/MillMain.scala
+++ b/main/src/mill/MillMain.scala
@@ -38,6 +38,8 @@ object MillMain {
env: Map[String, String],
setIdle: Boolean => Unit): (Boolean, Option[Evaluator.State]) = {
import ammonite.main.Cli
+
+ val millHome = mill.util.Ctx.defaultHome
val removed = Set("predef-code", "no-home-predef")
var interactive = false
@@ -49,10 +51,21 @@ object MillMain {
c
}
)
- val millArgSignature =
- Cli.genericSignature.filter(a => !removed(a.name)) :+ interactiveSignature
- val millHome = mill.util.Ctx.defaultHome
+
+
+ var disableTicker = false
+ val disableTickerSignature = Arg[Config, Unit](
+ "disable-ticker", None,
+ "Disable ticker log (e.g. short-lived prints of stages and progress bars)",
+ (c, v) =>{
+ disableTicker = true
+ c
+ }
+ )
+
+ val millArgSignature =
+ Cli.genericSignature.filter(a => !removed(a.name)) ++ Seq(interactiveSignature, disableTickerSignature)
Cli.groupArgs(
args.toList,
@@ -89,6 +102,7 @@ object MillMain {
s"""import $$file.build, build._
|implicit val replApplyHandler = mill.main.ReplApplyHandler(
| ammonite.ops.Path($tqs${cliConfig.home.toIO.getCanonicalPath.replaceAllLiterally("$", "$$")}$tqs),
+ | $disableTicker,
| interp.colors(),
| repl.pprinter(),
| build.millSelf.get,
@@ -102,7 +116,8 @@ object MillMain {
)
val runner = new mill.main.MainRunner(
- config.copy(colored = Some(mainInteractive)),
+ config.copy(colored = config.colored orElse Option(mainInteractive)),
+ disableTicker,
stdout, stderr, stdin,
stateCache,
env,
diff --git a/main/src/mill/main/MainModule.scala b/main/src/mill/main/MainModule.scala
index 367f241c..f7d4e7b9 100644
--- a/main/src/mill/main/MainModule.scala
+++ b/main/src/mill/main/MainModule.scala
@@ -173,7 +173,7 @@ trait MainModule extends mill.Module{
// When using `show`, redirect all stdout of the evaluated tasks so the
// printed JSON is the only thing printed to stdout.
log = evaluator.log match{
- case PrintLogger(c1, c2, o, i, e, in) => PrintLogger(c1, c2, e, i, e, in)
+ case PrintLogger(c1, d, c2, o, i, e, in) => PrintLogger(c1, d, c2, e, i, e, in)
case l => l
}
),
diff --git a/main/src/mill/main/MainRunner.scala b/main/src/mill/main/MainRunner.scala
index bf0d5901..30a23632 100644
--- a/main/src/mill/main/MainRunner.scala
+++ b/main/src/mill/main/MainRunner.scala
@@ -18,6 +18,7 @@ import scala.annotation.tailrec
* `scriptCodeWrapper` or with a persistent evaluator between runs.
*/
class MainRunner(val config: ammonite.main.Cli.Config,
+ disableTicker: Boolean,
outprintStream: PrintStream,
errPrintStream: PrintStream,
stdIn: InputStream,
@@ -74,6 +75,7 @@ class MainRunner(val config: ammonite.main.Cli.Config,
stateCache,
new PrintLogger(
colors != ammonite.util.Colors.BlackWhite,
+ disableTicker,
colors,
outprintStream,
errPrintStream,
diff --git a/main/src/mill/main/ReplApplyHandler.scala b/main/src/mill/main/ReplApplyHandler.scala
index 22a247cc..95949fa8 100644
--- a/main/src/mill/main/ReplApplyHandler.scala
+++ b/main/src/mill/main/ReplApplyHandler.scala
@@ -11,6 +11,7 @@ import mill.util.Strict.Agg
import scala.collection.mutable
object ReplApplyHandler{
def apply[T](home: Path,
+ disableTicker: Boolean,
colors: ammonite.util.Colors,
pprinter0: pprint.PPrinter,
rootModule: mill.define.BaseModule,
@@ -24,6 +25,7 @@ object ReplApplyHandler{
rootModule,
new mill.util.PrintLogger(
colors != ammonite.util.Colors.BlackWhite,
+ disableTicker,
colors,
System.out,
System.err,
diff --git a/main/test/src/mill/util/ScriptTestSuite.scala b/main/test/src/mill/util/ScriptTestSuite.scala
index a23b34fe..0b0c4011 100644
--- a/main/test/src/mill/util/ScriptTestSuite.scala
+++ b/main/test/src/mill/util/ScriptTestSuite.scala
@@ -14,8 +14,9 @@ abstract class ScriptTestSuite(fork: Boolean) extends TestSuite{
val wd = workspacePath / buildPath / up
val stdOutErr = new PrintStream(new ByteArrayOutputStream())
val stdIn = new ByteArrayInputStream(Array())
+ val disableTicker = false
lazy val runner = new mill.main.MainRunner(
- ammonite.main.Cli.Config(wd = wd),
+ ammonite.main.Cli.Config(wd = wd), disableTicker,
stdOutErr, stdOutErr, stdIn, None, Map.empty,
b => ()
)
diff --git a/main/test/src/mill/util/TestEvaluator.scala b/main/test/src/mill/util/TestEvaluator.scala
index bcfcc9bf..d62e921c 100644
--- a/main/test/src/mill/util/TestEvaluator.scala
+++ b/main/test/src/mill/util/TestEvaluator.scala
@@ -26,7 +26,7 @@ class TestEvaluator[T <: TestUtil.BaseModule](module: T)
// val logger = DummyLogger
val logger = new PrintLogger(
- true,
+ colored = true, disableTicker=false,
ammonite.util.Colors.Default, System.out, System.out, System.err, System.in
)
val evaluator = new Evaluator(Ctx.defaultHome, outPath, TestEvaluator.externalOutPath, module, logger)