"description":"A list of commands to be executed.",
"$ref":"#/definitions/3/cmds"
},
"deps":{
"description":"A list of dependencies of this task. Tasks defined here will run in parallel before this task.",
"type":"array",
"items":{
"oneOf":[
{
"type":"string"
},
{
"$ref":"#/definitions/3/task_call"
}
]
}
},
"label":{
"description":"Overrides the name of the task in the output when a task is run. Supports variables.",
"type":"string"
},
"desc":{
"description":"A short description of the task. This is displayed when calling `task --list`.",
"type":"string"
},
"summary":{
"description":"A longer description of the task. This is displayed when calling `task --summary [task]`.",
"type":"string"
},
"aliases":{
"description":"A list of alternative names by which the task can be called.",
"type":"array",
"items":{
"type":"string"
}
},
"sources":{
"description":"A list of sources to check before running this task. Relevant for `checksum` and `timestamp` methods. Can be file paths or star globs.",
"type":"array",
"items":{
"type":"string"
}
},
"generates":{
"description":"A list of files meant to be generated by this task. Relevant for `timestamp` method. Can be file paths or star globs.",
"type":"array",
"items":{
"type":"string"
}
},
"status":{
"description":"A list of commands to check if this task should run. The task is skipped otherwise. This overrides `method`, `sources` and `generates`.",
"type":"array",
"items":{
"type":"string"
}
},
"preconditions":{
"description":"A list of commands to check if this task should run. If a condition is not met, the task will error.",
"type":"array",
"items":{
"$ref":"#/definitions/3/precondition"
}
},
"dir":{
"description":"The directory in which this task should run. Defaults to the current working directory.",
"type":"string"
},
"set":{
"description":"Enables POSIX shell options for all of a task's commands. See https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html",
"type":"array",
"items":{
"$ref":"#/definitions/3/set"
}
},
"shopt":{
"description":"Enables Bash shell options for all of a task's commands. See https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html",
"type":"array",
"items":{
"$ref":"#/definitions/3/shopt"
}
},
"vars":{
"description":"A set of variables that can be used in the task.",
"$ref":"#/definitions/3/vars"
},
"env":{
"description":"A set of environment variables that will be made available to shell commands.",
"$ref":"#/definitions/3/env"
},
"dotenv":{
"description":"A list of `.env` file paths to be parsed.",
"type":"array",
"items":{
"type":"string"
}
},
"silent":{
"description":"Hides task name and command from output. The command's output will still be redirected to `STDOUT` and `STDERR`. When combined with the `--list` flag, task descriptions will be hidden.",
"type":"boolean",
"default":false
},
"interactive":{
"description":"Tells task that the command is interactive.",
"type":"boolean",
"default":false
},
"internal":{
"description":"Stops a task from being callable on the command line. It will also be omitted from the output when used with `--list`.",
"type":"boolean",
"default":false
},
"method":{
"description":"Defines which method is used to check the task is up-to-date. `timestamp` will compare the timestamp of the sources and generates files. `checksum` will check the checksum (You probably want to ignore the .task folder in your .gitignore file). `none` skips any validation and always run the task.",
"type":"string",
"enum":["none","checksum","timestamp"],
"default":"none"
},
"prefix":{
"description":"Defines a string to prefix the output of tasks running in parallel. Only used when the output mode is `prefixed`.",
"type":"string"
},
"ignore_error":{
"description":"Continue execution if errors happen while executing commands.",
"type":"boolean"
},
"run":{
"description":"Specifies whether the task should run again or not if called more than once. Available options: `always`, `once` and `when_changed`.",
"$ref":"#/definitions/3/run"
},
"platforms":{
"description":"Specifies which platforms the task should be run on.",
"description":"Defines which method is used to check the task is up-to-date. (default: checksum)",
"type":"string",
"enum":["none","checksum","timestamp"],
"default":"checksum"
},
"includes":{
"description":"Imports tasks from the specified taskfiles. The tasks described in the given Taskfiles will be available with the informed namespace.",
"type":"object",
"patternProperties":{
"^.*$":{
"anyOf":[
{
"type":"string"
},
{
"type":"object",
"properties":{
"taskfile":{
"description":"The path for the Taskfile or directory to be included. If a directory, Task will look for files named `Taskfile.yml` or `Taskfile.yaml` inside that directory. If a relative path, resolved relative to the directory containing the including Taskfile.",
"type":"string"
},
"dir":{
"description":"The working directory of the included tasks when run.",
"type":"string"
},
"optional":{
"description":"If `true`, no errors will be thrown if the specified file does not exist.",
"type":"boolean"
},
"internal":{
"description":"Stops any task in the included Taskfile from being callable on the command line. These commands will also be omitted from the output when used with `--list`.",
"type":"boolean"
},
"aliases":{
"description":"Alternative names for the namespace of the included Taskfile.",
"type":"array",
"items":{
"type":"string"
}
},
"vars":{
"description":"A set of variables to apply to the included Taskfile.",
"$ref":"#/definitions/3/vars"
}
}
}
]
}
}
},
"vars":{
"description":"A set of global variables.",
"$ref":"#/definitions/3/vars"
},
"env":{
"description":"A set of global environment variables.",
"$ref":"#/definitions/3/env"
},
"tasks":{
"description":"A set of task definitions.",
"$ref":"#/definitions/3/tasks"
},
"silent":{
"description":"Default 'silent' options for this Taskfile. If `false`, can be overidden with `true` in a task by task basis.",
"type":"boolean"
},
"set":{
"description":"Enables POSIX shell options for all commands in the Taskfile. See https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html",
"type":"array",
"items":{
"$ref":"#/definitions/3/set"
}
},
"shopt":{
"description":"Enables Bash shell options for all commands in the Taskfile. See https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html",
"type":"array",
"items":{
"$ref":"#/definitions/3/shopt"
}
},
"dotenv":{
"type":"array",
"description":"A list of `.env` file paths to be parsed.",
"items":{
"type":"string"
}
},
"run":{
"description":"Default 'run' option for this Taskfile. Available options: `always`, `once` and `when_changed`.",
"$ref":"#/definitions/3/run"
},
"interval":{
"description":"Sets a different watch interval when using `--watch`, the default being 5 seconds. This string should be a valid Go duration: https://pkg.go.dev/time#ParseDuration.",