summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-02-17 19:39:07 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-02-17 19:39:07 -0800
commit675d4f9eb1f234860ebd04d9f6e118c287d98eda (patch)
tree180c04f272fa6289e051e98c3af793b7f72eafa7 /main
parent9e156cd3bf53670b6283be5be3a0df6d332ae8ab (diff)
downloadmill-675d4f9eb1f234860ebd04d9f6e118c287d98eda.tar.gz
mill-675d4f9eb1f234860ebd04d9f6e118c287d98eda.tar.bz2
mill-675d4f9eb1f234860ebd04d9f6e118c287d98eda.zip
Avoid printing top-level tasks twice in `mill resolve __`
Diffstat (limited to 'main')
-rw-r--r--main/src/mill/main/MainModule.scala7
-rw-r--r--main/src/mill/main/Resolve.scala13
2 files changed, 16 insertions, 4 deletions
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],