@@ -91,7 +91,7 @@ private object ResolveCore {
9191 ): Result = {
9292
9393 def moduleClasses (resolved : Iterable [Resolved ]): Set [Class [? ]] = {
94- resolved.collect { case Resolved .Module (_, cls) => cls }.toSet
94+ resolved.collect { case Resolved .Module (_, _, cls) => cls }.toSet
9595 }
9696
9797 remainingQuery match {
@@ -139,7 +139,7 @@ private object ResolveCore {
139139 case (Segment .Label (singleLabel), m : Resolved .Module ) =>
140140 val resOrErr : mill.api.Result [Seq [Resolved ]] = singleLabel match {
141141 case " __" =>
142- val self = Seq (Resolved .Module (m.segments, m.cls))
142+ val self = Seq (Resolved .Module (rootModule, m.segments, m.cls))
143143 val transitiveOrErr =
144144 resolveTransitiveChildren(
145145 rootModule,
@@ -163,7 +163,7 @@ private object ResolveCore {
163163
164164 case pattern if pattern.startsWith(" __:" ) =>
165165 val typePattern = pattern.split(" :" ).drop(1 )
166- val self = Seq (Resolved .Module (m.segments, m.cls))
166+ val self = Seq (Resolved .Module (rootModule, m.segments, m.cls))
167167
168168 val transitiveOrErr = resolveTransitiveChildren(
169169 rootModule,
@@ -176,7 +176,7 @@ private object ResolveCore {
176176
177177 transitiveOrErr.map(transitive =>
178178 (self ++ transitive).collect {
179- case r @ Resolved .Module (segments, cls)
179+ case r @ Resolved .Module (_, segments, cls)
180180 if classMatchesTypePred(typePattern)(cls) =>
181181 r
182182 }
@@ -192,7 +192,7 @@ private object ResolveCore {
192192 cache
193193 ).map {
194194 _.collect {
195- case r @ Resolved .Module (segments, cls)
195+ case r @ Resolved .Module (_, segments, cls)
196196 if classMatchesTypePred(typePattern)(cls) => r
197197 }
198198 }
@@ -237,7 +237,7 @@ private object ResolveCore {
237237 case mill.api.Result .Success (searchModules) =>
238238 recurse(
239239 searchModules
240- .map(m => Resolved .Module (m.moduleSegments, m.getClass))
240+ .map(m => Resolved .Module (rootModule, m.moduleSegments, m.getClass))
241241 )
242242 }
243243
@@ -376,7 +376,7 @@ private object ResolveCore {
376376 instantiateModule(rootModule, segments, cache).map {
377377 case cross : Cross [_] =>
378378 for (item <- cross.items) yield {
379- Resolved .Module (segments ++ Segment .Cross (item.crossSegments), item.cls)
379+ Resolved .Module (rootModule, segments ++ Segment .Cross (item.crossSegments), item.cls)
380380 }
381381
382382 case _ => Nil
@@ -385,9 +385,12 @@ private object ResolveCore {
385385
386386 def expandSegments (direct : Seq [(Resolved , Option [Module => mill.api.Result [Module ]])]) = {
387387 direct.map {
388- case (Resolved .Module (s, cls), _) => Resolved .Module (segments ++ s, cls)
389- case (Resolved .NamedTask (s, enclosing), _) => Resolved .NamedTask (segments ++ s, enclosing)
390- case (Resolved .Command (s, enclosing), _) => Resolved .Command (segments ++ s, enclosing)
388+ case (Resolved .Module (rootModule, s, cls), _) =>
389+ Resolved .Module (rootModule, segments ++ s, cls)
390+ case (Resolved .NamedTask (rootModule, s, enclosing), _) =>
391+ Resolved .NamedTask (rootModule, segments ++ s, enclosing)
392+ case (Resolved .Command (rootModule, s, enclosing), _) =>
393+ Resolved .Command (rootModule, segments ++ s, enclosing)
391394 }
392395 }
393396
@@ -417,6 +420,7 @@ private object ResolveCore {
417420 .map(c =>
418421 (
419422 Resolved .Module (
423+ rootModule,
420424 Segments .labels(c.moduleSegments.last.value),
421425 c.getClass
422426 ),
@@ -429,7 +433,8 @@ private object ResolveCore {
429433 .reflectNestedObjects02[Module ](cls, namePred, cache.getMethods)
430434 .collect {
431435 case (name, memberCls, getter) =>
432- val resolved = Resolved .Module (Segments .labels(cache.decode(name)), memberCls)
436+ val resolved =
437+ Resolved .Module (rootModule, Segments .labels(cache.decode(name)), memberCls)
433438 val getter2 =
434439 Some ((mod : Module ) => mill.api.ExecResult .catchWrapException(getter(mod)))
435440 (resolved, getter2)
@@ -441,14 +446,14 @@ private object ResolveCore {
441446 val namedTasks = Reflect
442447 .reflect(cls, classOf [Task .Named [? ]], namePred, noParams = true , cache.getMethods)
443448 .map { m =>
444- Resolved .NamedTask (Segments .labels(cache.decode(m.getName)), cls) ->
449+ Resolved .NamedTask (rootModule, Segments .labels(cache.decode(m.getName)), cls) ->
445450 None
446451 }
447452
448453 val commands = Reflect
449454 .reflect(cls, classOf [Task .Command [? ]], namePred, noParams = false , cache.getMethods)
450455 .map(m => cache.decode(m.getName))
451- .map { name => Resolved .Command (Segments .labels(name), cls) -> None }
456+ .map { name => Resolved .Command (rootModule, Segments .labels(name), cls) -> None }
452457
453458 modulesOrErr.map(_ ++ namedTasks ++ commands)
454459 }
0 commit comments