Discover

mill.api.Discover
See theDiscover companion object
final class Discover(val classInfo: Map[Class[_], ClassInfo])

Macro to walk the module tree and generate mainargs entrypoints for any Task.Command methods that it finds. Needs to be provided for every ExternalModule that you define.

Note that unlike the rest of Mill's module-handling logic which uses Java reflection, generation of entrypoints requires typeclass resolution, and so needs to be done at compile time. Thus, we walk the entire module tree, collecting all the module Class[_]s we can find, and for each one generate the mainargs.MainData containing metadata and resolved typeclasses for all the Task.Command methods we find. This mapping from Class[_] to MainData can then be used later to look up the MainData for any module.

Attributes

Companion
object
Source
Discover.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete fields

val classInfo: Map[Class[_], ClassInfo]

Attributes

Source
Discover.scala