summaryrefslogtreecommitdiff
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
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
-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
-rw-r--r--scalalib/src/main/scala/mill/scalalib/GenIdea.scala6
-rw-r--r--scalalib/src/main/scala/mill/scalalib/TestRunner.scala2
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))