View Source Igniter.Mix.Task.Info (igniter v0.3.58)
Info for an Igniter.Mix.Task
, returned from the info/2
callback
Configurable Keys
schema
- The option schema for this task, in the format given toOptionParser
, i.e[name: :string]
defaults
- Default values for options in the schema.required
- A list of flags that are required for this task to run.positional
- A list of positional arguments that this task accepts. A list of atoms, or a keyword list with the option and config. See the positional arguments section for more.aliases
- A map of aliases to the schema keys.composes
- A list of tasks that this task might compose.installs
- A list of dependencies that should be installed before continuing.adds_deps
- A list of dependencies that should be added to themix.exs
, but do not need to be installed before continuing.extra_args?
- Whether or not to allow extra arguments. This forces all tasks that compose this task to allow extra args as well.example
- An example usage of the task. This is used in the help output.
Your task should always use switches
and not strict
to validate provided options!
Positonal Arguments
Each positional argument can provide the following options:
:optional
- Whether or not the argument is optional. Defaults tofalse
.:rest
- Whether or not the argument consumes the rest of the positional arguments. Defaults tofalse
.The value will be converted to a list automatically.
Summary
Types
@type t() :: %Igniter.Mix.Task.Info{ adds_deps: [{atom(), String.t()}], alias_conflicts: %{optional(atom()) => [String.t()]}, aliases: Keyword.t(), composes: [String.t()], defaults: Keyword.t(), example: String.t() | nil, extra_args?: boolean(), flag_conflicts: %{optional(atom()) => [String.t()]}, group: atom() | nil, installs: [{atom(), String.t()}], only: [atom()] | nil, positional: [atom() | {atom(), optional: boolean(), rest: boolean()}], required: [atom()], schema: Keyword.t() }