diff options
Diffstat (limited to 'core/src/main/scala/mill/define/Cross.scala')
-rw-r--r-- | core/src/main/scala/mill/define/Cross.scala | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/core/src/main/scala/mill/define/Cross.scala b/core/src/main/scala/mill/define/Cross.scala index 6120d5df..2975f97b 100644 --- a/core/src/main/scala/mill/define/Cross.scala +++ b/core/src/main/scala/mill/define/Cross.scala @@ -44,15 +44,9 @@ object Cross{ */ class Cross[T](cases: Any*) (implicit ci: Cross.Factory[T], - ctx: mill.define.Ctx, - cmds: Module.Cmds) extends mill.define.Module()(ctx, cmds) { - - override def traverse[T](f: Module => Seq[T]): Seq[T] = { - f(this) ++ - this.reflect[Module].flatMap(f) ++ - items.map(_._2).flatMap{case t: Module => f(t)} - } + ctx: mill.define.Ctx) extends mill.define.Module()(ctx) { + override lazy val modules = this.reflectNestedObjects[Module] ++ items.collect{case (k, v: mill.define.Module) => v} val items = for(c0 <- cases.toList) yield{ val c = c0 match{ case p: Product => p |