diff options
author | Joseph K. Strauss <joseph.k.strauss@gmail.com> | 2018-08-10 01:06:20 -0400 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-08-10 13:06:20 +0800 |
commit | 21594a8fcc0937a966a0a6857d2fe3f764e69ce9 (patch) | |
tree | d732049cde61320c188da63f74052913888404a7 /main/src | |
parent | 87dfb308db0a83a3443fe71127716411474b0b69 (diff) | |
download | mill-21594a8fcc0937a966a0a6857d2fe3f764e69ce9.tar.gz mill-21594a8fcc0937a966a0a6857d2fe3f764e69ce9.tar.bz2 mill-21594a8fcc0937a966a0a6857d2fe3f764e69ce9.zip |
Make visualizePlan work with external modules (#406)
Diffstat (limited to 'main/src')
-rw-r--r-- | main/src/mill/main/MainModule.scala | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/main/src/mill/main/MainModule.scala b/main/src/mill/main/MainModule.scala index fbf89a6d..67e8fa21 100644 --- a/main/src/mill/main/MainModule.scala +++ b/main/src/mill/main/MainModule.scala @@ -67,27 +67,22 @@ trait MainModule extends mill.Module{ def plan(evaluator: Evaluator[Any], targets: String*) = mill.T.command{ plan0(evaluator, targets) match{ case Right(success) => { - success.foreach(println) - Result.Success(success) + val renderedTasks = success.map{ _.segments.render} + renderedTasks.foreach(println) + Result.Success(renderedTasks) } case Left(err) => Result.Failure(err) } } private def plan0(evaluator: Evaluator[Any], targets: Seq[String]) = { - val resolved = RunScript.resolveTasks( + RunScript.resolveTasks( mill.main.ResolveTasks, evaluator, targets, multiSelect = true - ) - - resolved match { + ) match { case Left(err) => Left(err) case Right(rs) => - val (sortedGroups, transitive) = Evaluator.plan(evaluator.rootModule, rs) - Right(sortedGroups - .keys() - .collect{ case Right(r) => r.segments.render} - .toArray - ) + val (sortedGroups, _) = Evaluator.plan(evaluator.rootModule, rs) + Right(sortedGroups.keys().collect{ case Right(r) => r}.toArray) } } @@ -233,9 +228,10 @@ trait MainModule extends mill.Module{ def visualizePlan(evaluator: Evaluator[Any], targets: String*) = mill.T.command{ plan0(evaluator, targets) match { - case Right(planResults) => - visualize0(evaluator, targets, T.ctx(), mill.main.VisualizeModule.worker(), Some(planResults)) case Left(err) => Result.Failure(err) + case Right(planResults) => visualize0( + evaluator, targets, T.ctx(), mill.main.VisualizeModule.worker(), Some(planResults.toList.map(_.task)) + ) } } @@ -243,27 +239,20 @@ trait MainModule extends mill.Module{ LinkedBlockingQueue[Result[scala.Seq[PathRef]]]) private def visualize0(evaluator: Evaluator[Any], targets: Seq[String], ctx: Ctx, vizWorker: VizWorker, - planTasks: Option[Array[String]] = None) = { - def resolveTasks(targets: Seq[String]): Either[String, List[NamedTask[Any]]] = { - RunScript.resolveTasks( - mill.main.ResolveTasks, evaluator, targets, multiSelect = true - ) - } - + planTasks: Option[List[NamedTask[_]]] = None) = { def callVisualizeModule(rs: List[NamedTask[Any]], allRs: List[NamedTask[Any]]) = { val (in, out) = vizWorker in.put((rs, allRs, ctx.dest)) out.take() } - val resolved = resolveTasks(targets) - - resolved match { + RunScript.resolveTasks( + mill.main.ResolveTasks, evaluator, targets, multiSelect = true + ) match { case Left(err) => Result.Failure(err) case Right(rs) => planTasks match { - case Some(allTasks) => resolveTasks(allTasks) match { - case Left (err) => Result.Failure (err) - case Right (allRs) => callVisualizeModule (rs, allRs) + case Some(allRs) => { + callVisualizeModule(rs, allRs) } case None => callVisualizeModule(rs, rs) } |