From 675d4f9eb1f234860ebd04d9f6e118c287d98eda Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sat, 17 Feb 2018 19:39:07 -0800 Subject: Avoid printing top-level tasks twice in `mill resolve __` --- main/src/mill/main/MainModule.scala | 7 ++++++- main/src/mill/main/Resolve.scala | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'main') diff --git a/main/src/mill/main/MainModule.scala b/main/src/mill/main/MainModule.scala index b1068c29..ea4b2cb2 100644 --- a/main/src/mill/main/MainModule.scala +++ b/main/src/mill/main/MainModule.scala @@ -35,9 +35,14 @@ trait MainModule extends mill.Module{ val resolved = RunScript.resolveTasks( mill.main.ResolveMetadata, evaluator, targets, multiSelect = true ) + resolved match{ case Left(err) => Result.Failure(err) - case Right(r) => Result.Success(r.foreach(println)) + case Right(rs) => + for(r <- rs){ + println(r) + } + Result.Success(()) } } diff --git a/main/src/mill/main/Resolve.scala b/main/src/mill/main/Resolve.scala index 95fff5f1..992484bc 100644 --- a/main/src/mill/main/Resolve.scala +++ b/main/src/mill/main/Resolve.scala @@ -24,7 +24,6 @@ object ResolveMetadata extends Resolve[String]{ if (isRootModule) ep._2.name else obj + "." + ep._2.name } - modules ++ targets ++ commands } def endResolve(obj: Module, @@ -35,8 +34,15 @@ object ResolveMetadata extends Resolve[String]{ val direct = singleModuleMeta(obj, discover, revSelectorsSoFar.isEmpty) if (last == "__") { - Right(direct.toList ++ obj.millInternal.modules.flatMap(singleModuleMeta(_, discover, false))) - } else if (last == "_") Right(direct.toList) + Right( + // Filter out our own module in + obj.millInternal.modules + .filter(_ != obj) + .flatMap(m => singleModuleMeta(m, discover, m != obj)) + .toList + ) + } + else if (last == "_") Right(direct.toList) else direct.find(_.split('.').last == last) match{ case None => Left( @@ -47,6 +53,7 @@ object ResolveMetadata extends Resolve[String]{ } } } + object Resolve extends Resolve[NamedTask[Any]]{ def endResolve(obj: Module, revSelectorsSoFar: List[Segment], -- cgit v1.2.3