diff options
Diffstat (limited to 'core/src/main')
-rw-r--r-- | core/src/main/scala/mill/Main.scala | 15 | ||||
-rw-r--r-- | core/src/main/scala/mill/eval/Evaluator.scala | 14 | ||||
-rw-r--r-- | core/src/main/scala/mill/modules/Jvm.scala | 8 | ||||
-rw-r--r-- | core/src/main/scala/mill/util/Ctx.scala | 4 | ||||
-rw-r--r-- | core/src/main/scala/mill/util/Logger.scala | 29 |
5 files changed, 43 insertions, 27 deletions
diff --git a/core/src/main/scala/mill/Main.scala b/core/src/main/scala/mill/Main.scala index db7a6c1a..24cd7ed1 100644 --- a/core/src/main/scala/mill/Main.scala +++ b/core/src/main/scala/mill/Main.scala @@ -7,7 +7,7 @@ import ammonite.util.{Colors, Res} import mill.define.Task import mill.discover._ import mill.eval.{Evaluator, Result} -import mill.util.OSet +import mill.util.{Logger, OSet, PrintLogger} import ammonite.main.Scripts.pathScoptRead import ammonite.repl.Repl import mill.define.Task.TaskModule @@ -151,7 +151,7 @@ object Main { watch: Path => Unit, coloredOutput: Boolean): Int = { - val log = new Logger(coloredOutput) + val log = new PrintLogger(coloredOutput) val Seq(selectorString, rest @_*) = args @@ -163,7 +163,7 @@ object Main { case _ => Nil } target <- resolve(sel, disc.mirror, obj, rest, crossSelectors, Nil) - evaluator = new Evaluator(pwd / 'out, Discovered.mapping(obj)(disc), log.info) + evaluator = new Evaluator(pwd / 'out, Discovered.mapping(obj)(disc), log) _ <- evaluate(evaluator, target, watch).toLeft(()) } yield () @@ -231,17 +231,10 @@ object Main { } } -class Logger(coloredOutput: Boolean){ - val colors = - if(coloredOutput) Colors.Default - else Colors.BlackWhite - def info(s: String) = System.err.println(colors.info()(s)) - def error(s: String) = System.err.println(colors.error()(s)) -} class Main(config: Main.Config){ val coloredOutput = config.colored.getOrElse(ammonite.Main.isInteractive()) - val log = new Logger(coloredOutput) + val log = new PrintLogger(coloredOutput) def watchAndWait(watched: Seq[(Path, Long)]) = { diff --git a/core/src/main/scala/mill/eval/Evaluator.scala b/core/src/main/scala/mill/eval/Evaluator.scala index b769c025..619b1521 100644 --- a/core/src/main/scala/mill/eval/Evaluator.scala +++ b/core/src/main/scala/mill/eval/Evaluator.scala @@ -1,17 +1,20 @@ package mill.eval +import java.io.PrintStream + import ammonite.ops._ import ammonite.runtime.SpecialClassLoader import mill.define.{Graph, Target, Task} import mill.discover.Mirror import mill.discover.Mirror.LabelledTarget import mill.util -import mill.util.{Ctx, MultiBiMap, OSet} +import mill.util._ + import scala.collection.mutable class Evaluator(workspacePath: Path, labeling: Map[Target[_], LabelledTarget[_]], - log: String => Unit){ + log: Logger){ def evaluate(goals: OSet[Task[_]]): Evaluator.Results = { mkdir(workspacePath) @@ -133,8 +136,7 @@ class Evaluator(workspacePath: Path, def evaluateGroup(group: OSet[Task[_]], results: collection.Map[Task[_], Result[Any]], targetDestPath: Option[Path], - maybeTargetLabel: Option[String] - ) = { + maybeTargetLabel: Option[String]) = { val newEvaluated = mutable.Buffer.empty[Task[_]] @@ -150,7 +152,7 @@ class Evaluator(workspacePath: Path, val logRun = inputResults.forall(_.isInstanceOf[Result.Success[_]]) - if(logRun) { log("Running " + targetLabel) } + if(logRun) { log.info("Running " + targetLabel) } } for (target <- nonEvaluatedTargets) { @@ -166,7 +168,7 @@ class Evaluator(workspacePath: Path, val args = new Ctx( targetInputValues.toArray[Any], targetDestPath.orNull, - System.out + log ) target.evaluate(args) } diff --git a/core/src/main/scala/mill/modules/Jvm.scala b/core/src/main/scala/mill/modules/Jvm.scala index a2277e36..a0f586c3 100644 --- a/core/src/main/scala/mill/modules/Jvm.scala +++ b/core/src/main/scala/mill/modules/Jvm.scala @@ -130,12 +130,4 @@ object Jvm { PathRef(outputPath) } - def jarUp(roots: Task[PathRef]*) = new Task[PathRef]{ - - val inputs = roots - def evaluate(args: Ctx) = { - createJar(args.dest, args.args.map(_.asInstanceOf[PathRef].path)) - PathRef(args.dest) - } - } } diff --git a/core/src/main/scala/mill/util/Ctx.scala b/core/src/main/scala/mill/util/Ctx.scala index f583feaf..7a0a5694 100644 --- a/core/src/main/scala/mill/util/Ctx.scala +++ b/core/src/main/scala/mill/util/Ctx.scala @@ -17,7 +17,7 @@ object Ctx{ def dest: Path } trait LogCtx{ - def log: PrintStream + def log: Logger } trait ArgCtx{ def args: IndexedSeq[_] @@ -25,7 +25,7 @@ object Ctx{ } class Ctx(val args: IndexedSeq[_], val dest: Path, - val log: PrintStream) extends DestCtx with LogCtx with ArgCtx{ + val log: Logger) extends DestCtx with LogCtx with ArgCtx{ def length = args.length def apply[T](index: Int): T = { if (index >= 0 && index < args.length) args(index).asInstanceOf[T] diff --git a/core/src/main/scala/mill/util/Logger.scala b/core/src/main/scala/mill/util/Logger.scala new file mode 100644 index 00000000..d998a601 --- /dev/null +++ b/core/src/main/scala/mill/util/Logger.scala @@ -0,0 +1,29 @@ +package mill.util + +import java.io.{OutputStream, PrintStream} + +import ammonite.util.Colors + + +trait Logger{ + val outputStream: PrintStream + def info(s: String): Unit + def error(s: String): Unit +} + +object DummyLogger extends Logger{ + val outputStream = new PrintStream(new OutputStream { + def write(b: Int) = () + }) + def info(s: String) = () + def error(s: String) = () +} +class PrintLogger(coloredOutput: Boolean) extends Logger{ + val outputStream = System.err + val colors = + if(coloredOutput) Colors.Default + else Colors.BlackWhite + + def info(s: String) = System.err.println(colors.info()(s)) + def error(s: String) = System.err.println(colors.error()(s)) +}
\ No newline at end of file |