diff options
6 files changed, 18 insertions, 12 deletions
diff --git a/core/src/main/scala/mill/main/MainRunner.scala b/core/src/main/scala/mill/main/MainRunner.scala index 93016453..895576bd 100644 --- a/core/src/main/scala/mill/main/MainRunner.scala +++ b/core/src/main/scala/mill/main/MainRunner.scala @@ -32,7 +32,8 @@ class MainRunner(config: ammonite.main.Cli.Config, show: Boolean, val interpWatched = interp.watchedFiles val result = RunScript.runScript( - mainCfg.wd, scriptPath, interp, scriptArgs, lastEvaluator + mainCfg.wd, scriptPath, interp, scriptArgs, lastEvaluator, + errPrintStream, errPrintStream ) result match{ case Res.Success(data) => diff --git a/core/src/main/scala/mill/main/ReplApplyHandler.scala b/core/src/main/scala/mill/main/ReplApplyHandler.scala index 93e7add4..7817a77f 100644 --- a/core/src/main/scala/mill/main/ReplApplyHandler.scala +++ b/core/src/main/scala/mill/main/ReplApplyHandler.scala @@ -13,7 +13,7 @@ object ReplApplyHandler{ ammonite.ops.pwd / 'out, ammonite.ops.pwd, mapping, - new mill.util.PrintLogger(true) + new mill.util.PrintLogger(true, System.err, System.err) ) ) } diff --git a/core/src/main/scala/mill/main/RunScript.scala b/core/src/main/scala/mill/main/RunScript.scala index 4fa7953b..ced0bbc1 100644 --- a/core/src/main/scala/mill/main/RunScript.scala +++ b/core/src/main/scala/mill/main/RunScript.scala @@ -1,5 +1,6 @@ package mill.main +import java.io.PrintStream import java.nio.file.NoSuchFileException import ammonite.interp.Interpreter @@ -24,9 +25,11 @@ object RunScript{ path: Path, interp: ammonite.interp.Interpreter, scriptArgs: Seq[String], - lastEvaluator: Option[(Seq[(Path, Long)], Evaluator[_])]) = { + lastEvaluator: Option[(Seq[(Path, Long)], Evaluator[_])], + infoStream: PrintStream, + errStream: PrintStream) = { - val log = new PrintLogger(true) + val log = new PrintLogger(true, infoStream, errStream) for{ evaluator <- lastEvaluator match{ case Some((prevInterpWatchedSig, prevEvaluator)) diff --git a/core/src/main/scala/mill/util/Logger.scala b/core/src/main/scala/mill/util/Logger.scala index d988c1fc..36c825a6 100644 --- a/core/src/main/scala/mill/util/Logger.scala +++ b/core/src/main/scala/mill/util/Logger.scala @@ -19,15 +19,17 @@ object DummyLogger extends Logger { def error(s: String) = () } -case class PrintLogger(coloredOutput: Boolean) extends Logger { - val outputStream: PrintStream = System.err +case class PrintLogger(coloredOutput: Boolean, + infoStream: PrintStream, + errorStream: PrintStream) extends Logger { + override val outputStream = infoStream val colors = if(coloredOutput) Colors.Default else Colors.BlackWhite - def info(s: String) = outputStream.println(colors.info()(s)) - def error(s: String) = outputStream.println(colors.error()(s)) + def info(s: String) = infoStream.println(colors.info()(s)) + def error(s: String) = errorStream.println(colors.error()(s)) } case class FileLogger(file: Path) extends Logger { diff --git a/scalalib/src/main/scala/mill/scalalib/GenIdea.scala b/scalalib/src/main/scala/mill/scalalib/GenIdea.scala index 8b89fa9a..99d8a9ad 100644 --- a/scalalib/src/main/scala/mill/scalalib/GenIdea.scala +++ b/scalalib/src/main/scala/mill/scalalib/GenIdea.scala @@ -5,19 +5,19 @@ import mill.define.Target import mill.discover.Mirror.Segment import mill.discover.{Discovered, Mirror} import mill.eval.{Evaluator, PathRef} -import mill.util.Ctx.LoaderCtx +import mill.util.Ctx.{LoaderCtx, LogCtx} import mill.util.{OSet, PrintLogger} object GenIdea { - def apply()(implicit ctx: LoaderCtx): Unit = { + def apply()(implicit ctx: LoaderCtx with LogCtx): Unit = { val mapping = ctx.load(mill.discover.Discovered.Mapping) val pp = new scala.xml.PrettyPrinter(999, 4) rm! pwd/".idea" rm! pwd/".idea_modules" - val evaluator = new Evaluator(pwd / 'out, pwd, mapping, new PrintLogger(true)) + val evaluator = new Evaluator(pwd / 'out, pwd, mapping, ctx.log) for((relPath, xml) <- xmlFileLayout(evaluator)){ write.over(pwd/relPath, pp.format(xml)) diff --git a/scalalib/src/main/scala/mill/scalalib/TestRunner.scala b/scalalib/src/main/scala/mill/scalalib/TestRunner.scala index b734273f..734bc1e0 100644 --- a/scalalib/src/main/scala/mill/scalalib/TestRunner.scala +++ b/scalalib/src/main/scala/mill/scalalib/TestRunner.scala @@ -49,7 +49,7 @@ object TestRunner { entireClasspath = args(1).split(" ").map(Path(_)), testClassfilePath = args(2).split(" ").map(Path(_)), args = args(3) match{ case "" => Nil case x => x.split(" ").toList } - )(new PrintLogger(true)) + )(new PrintLogger(true, System.err, System.err)) val outputPath = args(4) ammonite.ops.write(Path(outputPath), upickle.default.write(result)) |