summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-01-01 09:50:57 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-01-01 10:10:19 -0800
commitbd979b5ab9aa3bc479c7800f41393e53b24aae74 (patch)
treec99b8d3464763d0c08cd067b77b897ec0a01947c /core
parent9307d0735c619fcc3c654156a252526e7d2931fa (diff)
downloadmill-bd979b5ab9aa3bc479c7800f41393e53b24aae74.tar.gz
mill-bd979b5ab9aa3bc479c7800f41393e53b24aae74.tar.bz2
mill-bd979b5ab9aa3bc479c7800f41393e53b24aae74.zip
Pipe in stdin and stderr. We still need to figure out a policy for how stderr/stdout map to the various `Logger` levels, but for now this shuts up the integration tests
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/mill/main/MainRunner.scala3
-rw-r--r--core/src/main/scala/mill/main/ReplApplyHandler.scala2
-rw-r--r--core/src/main/scala/mill/main/RunScript.scala7
-rw-r--r--core/src/main/scala/mill/util/Logger.scala10
4 files changed, 14 insertions, 8 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 {