ModuleDepsResolver

mill.api.internal.ModuleDepsResolver

Helper object for resolving module deps from string identifiers at runtime. Used by YAML builds to defer module resolution from codegen time to runtime. Configuration is loaded from a classpath resource file written during code generation.

Attributes

Source
ModuleDepsResolver.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

case class ModuleDepsConfig(yamlPath: String, moduleDeps: ModuleDepsEntry, compileModuleDeps: ModuleDepsEntry, runModuleDeps: ModuleDepsEntry, bomModuleDeps: ModuleDepsEntry)

Configuration for all moduleDeps fields of a module

Configuration for all moduleDeps fields of a module

Attributes

Source
ModuleDepsResolver.scala
Supertypes
trait Serializable
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ModuleDepsEntry(deps: Seq[(String, Int)], append: Boolean)

Configuration entry for a single moduleDeps field.

Configuration entry for a single moduleDeps field.

Value parameters

append

If true, append to super.moduleDeps; if false, replace it

deps

List of (module path string, character offset in YAML file) pairs

Attributes

Source
ModuleDepsResolver.scala
Supertypes
trait Serializable
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

def resolveModuleDeps[T <: Module](rootModule: Module, modulePath: String, fieldName: String, default: => Seq[T])(implicit ct: ClassTag[T]): Seq[T]

Attributes

Source
ModuleDepsResolver.scala
inline def superMethod[T <: Module](inline methodName: String): Seq[T]

Macro that returns super.methodName if the enclosing class has a parent with that method, otherwise returns Seq.empty. Used by generated code to avoid requiring override keyword.

Macro that returns super.methodName if the enclosing class has a parent with that method, otherwise returns Seq.empty. Used by generated code to avoid requiring override keyword.

Attributes

Source
ModuleDepsResolver.scala