public interface TaskContainer extends TaskCollection<Task>, PolymorphicDomainObjectContainer<Task>
A TaskContainer
is responsible for managing a set of Task
instances.
You can obtain a TaskContainer
instance by calling Project.getTasks()
, or using the
tasks
property in your build script.
Modifier and Type | Method and Description |
---|---|
Task |
create(Map<String,?> options)
Creates a
Task and adds it to this container. |
Task |
create(Map<String,?> options,
Closure configureClosure)
Creates a
Task adds it to this container. |
Task |
create(String name)
Creates a
Task with the given name and adds it to this container. |
<T extends Task> |
create(String name,
Class<T> type)
Creates a
Task with the given name and type, and adds it to this container. |
<T extends Task> |
create(String name,
Class<T> type,
Action<? super T> configuration)
Creates a
Task with the given name and type, configures it with the given action, and adds it to this container. |
Task |
create(String name,
Closure configureClosure)
Creates a
Task with the given name adds it to this container. |
Task |
findByPath(String path)
Locates a task by path.
|
Task |
getByPath(String path)
Locates a task by path.
|
Task |
replace(String name)
Creates a
Task with the given name and adds it to this container, replacing any existing task with the
same name. |
<T extends Task> |
replace(String name,
Class<T> type)
Creates a
Task with the given name and type, and adds it to this container, replacing any existing
task of the same name. |
getAt, getByName, getByName, matching, matching, whenTaskAdded, whenTaskAdded, withType
containerWithType, maybeCreate
configure, create, maybeCreate
findAll
addRule, addRule, findByName, getAsMap, getNamer, getNames, getRules
all, all, whenObjectAdded, whenObjectAdded, whenObjectRemoved, whenObjectRemoved, withType, withType
Task findByPath(String path)
Locates a task by path. You can supply a task name, a relative path, or an absolute path. Relative paths are interpreted relative to the project for this container. This method returns null if no task with the given path exists.
path
- the path of the task to be returnedTask getByPath(String path) throws UnknownTaskException
Locates a task by path. You can supply a task name, a relative path, or an absolute path. Relative paths are interpreted relative to the project for this container. This method throws an exception if no task with the given path exists.
path
- the path of the task to be returnedUnknownTaskException
- If no task with the given path exists.Task create(Map<String,?> options) throws InvalidUserDataException
Creates a Task
and adds it to this container. A map of creation options can be passed to this method
to control how the task is created. The following options are available:
Option | Description | Default Value |
---|---|---|
"name" | The name of the task to create. | None. Must be specified. |
"type" | The class of the task to create. | DefaultTask |
"action" | The closure or Action to
execute when the task executes. See Task.doFirst(Action) . | null |
"overwrite" | Replace an existing task? | false |
"dependsOn" | The dependencies of the task. See here for more details. | [] |
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
If a task with the given name already exists in this container and the "overwrite"
option is not set to true, an exception is thrown.
options
- The task creation options.InvalidUserDataException
- If a task with the given name already exists in this project.Task create(Map<String,?> options, Closure configureClosure) throws InvalidUserDataException
Creates a Task
adds it to this container. A map of creation options can be passed to this method to
control how the task is created. See create(java.util.Map)
for the list of options available. The given
closure is used to configure the task before it is returned by this method.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
options
- The task creation options.configureClosure
- The closure to use to configure the task.InvalidUserDataException
- If a task with the given name already exists in this project.Task create(String name, Closure configureClosure) throws InvalidUserDataException
Creates a Task
with the given name adds it to this container. The given closure is used to configure
the task before it is returned by this method.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
create
in interface NamedDomainObjectContainer<Task>
name
- The name of the task to be createdconfigureClosure
- The closure to use to configure the task.InvalidUserDataException
- If a task with the given name already exists in this project.Task create(String name) throws InvalidUserDataException
Creates a Task
with the given name and adds it to this container.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
create
in interface NamedDomainObjectContainer<Task>
name
- The name of the task to be createdInvalidUserDataException
- If a task with the given name already exists in this project.<T extends Task> T create(String name, Class<T> type) throws InvalidUserDataException
Creates a Task
with the given name and type, and adds it to this container.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
create
in interface PolymorphicDomainObjectContainer<Task>
T
- the type of the domain object to be createdname
- The name of the task to be created.type
- The type of task to create.InvalidUserDataException
- If a task with the given name already exists in this project.<T extends Task> T create(String name, Class<T> type, Action<? super T> configuration) throws InvalidUserDataException
Creates a Task
with the given name and type, configures it with the given action, and adds it to this container.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
create
in interface PolymorphicDomainObjectContainer<Task>
T
- the type of the domain object to be createdname
- The name of the task to be created.type
- The type of task to create.configuration
- The action to configure the task with.InvalidUserDataException
- If a task with the given name already exists in this project.Task replace(String name)
Creates a Task
with the given name and adds it to this container, replacing any existing task with the
same name.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
name
- The name of the task to be createdInvalidUserDataException
- If a task with the given name already exists in this project.<T extends Task> T replace(String name, Class<T> type)
Creates a Task
with the given name and type, and adds it to this container, replacing any existing
task of the same name.
After the task is added, it is made available as a property of the project, so that you can reference the task by name in your build file. See here for more details.
name
- The name of the task to be created.type
- The type of task to create.InvalidUserDataException
- If a task with the given name already exists in this project.