Packages

p

mill

define

package define

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. define
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. class Args extends AnyRef

    Represents an unstructured sequence of command-line arguments that can be passed to Mill commands; similar to mainargs.Leftover.

  2. abstract class BaseModule extends BaseClass with Module
  3. case class Caller(value: Any) extends Product with Serializable
  4. class Command[+T] extends Task[T] with NamedTask[T]
  5. class Cross[M <: define.Cross.Module[_]] extends BaseClass with Module

    Models "cross-builds": sets of duplicate builds which differ only in the value of one or more "case" variables whose values are determined at runtime.

    Models "cross-builds": sets of duplicate builds which differ only in the value of one or more "case" variables whose values are determined at runtime. Used via:

    object foo extends Cross[FooModule]("bar", "baz", "qux")
    trait FooModule extends Cross.Module[String]{
      ... crossValue ...
    }
  6. trait Ctx extends AnyRef

    The contextual information provided by a mill.define.Module.

    The contextual information provided by a mill.define.Module.

    Annotations
    @implicitNotFound()
  7. case class Discover[T] extends Product with Serializable

    Macro to walk the module tree and generate mainargs entrypoints for any T.command methods that it finds.

    Macro to walk the module tree and generate mainargs entrypoints for any T.command methods that it finds.

    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 T.command methods we find. This mapping from Class[_] to MainData can then be used later to look up the MainData for any module.

  8. trait DynamicModule extends BaseClass with Module

    A module which you can override millModuleDirectChildren to dynamically enable or disable child modules at runtime

  9. case class EnclosingClass(value: Class[_]) extends Product with Serializable
  10. abstract class ExternalModule extends BaseModule
  11. class InputImpl[T] extends Task[T] with Target[T]
  12. trait Module extends BaseClass

    Represents a namespace within the Mill build hierarchy, containing nested modules or tasks.

    Represents a namespace within the Mill build hierarchy, containing nested modules or tasks.

    Module is a class meant to be extended by traits *only*, in order to propagate the implicit parameters forward to the final concrete instantiation site so they can capture the enclosing/line information of the concrete instance.

  13. case class ModuleRef[+T <: Module](t: T) extends Product with Serializable

    Used to refer to a module from another module without including the target module as a child-module of the first.

  14. trait NamedTask[+T] extends Task[T]

    Represents a task that can be referenced by its path segments.

    Represents a task that can be referenced by its path segments. T{...} targets, T.input, T.worker, etc. but not including anonymous T.task or T.traverse etc. instances

  15. class PersistentImpl[+T] extends TargetImpl[T]
  16. sealed trait Segment extends AnyRef
  17. case class Segments extends Product with Serializable

    Models a path with the Mill build hierarchy, e.g.

    Models a path with the Mill build hierarchy, e.g. amm.util[2.11].test.compile. Segments must start with a Segment.Label.

    .-separated segments are Segment.Labels, while []-delimited segments are Segment.Crosss

  18. class SourceImpl extends InputImpl[api.PathRef]
  19. class SourcesImpl extends InputImpl[Seq[api.PathRef]]
  20. trait Target[+T] extends Task[T] with NamedTask[T]

    A Target is a NamedTask that is cached on disk; either a TargetImpl or an InputImpl

  21. class TargetImpl[+T] extends Task[T] with Target[T]
  22. abstract class Task[+T] extends Ops[T] with Applyable[Task, T]

    Models a single node in the Mill build graph, with a list of inputs and a single output of type T.

    Models a single node in the Mill build graph, with a list of inputs and a single output of type T.

    Generally not instantiated manually, but instead constructed via the Target.apply & similar macros.

  23. trait TaskModule extends BaseClass with Module

    A Module that has a defaultCommandName that will be automatically executed if the module name is provide at the Mill command line

  24. class Worker[+T] extends Task[T] with NamedTask[T]

Deprecated Type Members

  1. type Input[T] = Target[T]
    Annotations
    @deprecated
    Deprecated

    (Since version Mill after 0.11.0-M8) Use mill.define.Target instead.

  2. type Persistent[T] = Target[T]
    Annotations
    @deprecated
    Deprecated

    (Since version Mill after 0.11.0-M8) Use mill.define.Target instead.

  3. type Source = Target[api.PathRef]
    Annotations
    @deprecated
    Deprecated

    (Since version Mill after 0.11.0-M8) Use mill.define.Target instead.

  4. type Sources = Target[Seq[api.PathRef]]
    Annotations
    @deprecated
    Deprecated

    (Since version Mill after 0.11.0-M8) Use mill.define.Target instead.

Value Members

  1. object Applicative

    A generic Applicative-functor macro: translates calls to

    A generic Applicative-functor macro: translates calls to

    Applier.apply{ ... applyable1.apply() ... applyable2.apply() ... }

    into

    Applier.zipMap(applyable1, applyable2){ (a1, a2, ctx) => ... a1 ... a2 ... }

    Annotations
    @internal()
  2. object Args
  3. object BaseModule
  4. object Caller extends Serializable
  5. object Cross
  6. object Ctx
  7. object Discover extends Serializable
  8. object EnclosingClass extends Serializable
  9. object Module
  10. object Segment
  11. object Segments extends Serializable
  12. object Target extends Applyer[Task, Task, Result, api.Ctx]

    The mill.define.Target companion object, usually aliased as T, provides most of the helper methods and macros used to build task graphs.

    The mill.define.Target companion object, usually aliased as T, provides most of the helper methods and macros used to build task graphs. methods like T.apply, T.sources, T.command allow you to define the tasks, while methods like T.dest, T.log or T.env provide the core APIs that are provided to a task implementation

  13. object Task

Inherited from AnyRef

Inherited from Any

Ungrouped