public interface TaskExecutionGraph
A TaskExecutionGraph
is responsible for managing the execution of the Task
instances which
are part of the build. The TaskExecutionGraph
maintains an execution plan of tasks to be executed (or
which have been executed), and you can query this plan from your build file.
You can access the TaskExecutionGraph
by calling Gradle.getTaskGraph()
.
In your build file you can use gradle.taskGraph
to access it.
The TaskExecutionGraph
is populated only after all the projects in the build have been evaluated. It
is empty before then. You can receive a notification when the graph is populated, using whenReady(groovy.lang.Closure)
or addTaskExecutionGraphListener(TaskExecutionGraphListener)
.
Modifier and Type | Method | Description |
---|---|---|
void |
addTaskExecutionGraphListener(TaskExecutionGraphListener listener) |
Adds a listener to this graph, to be notified when this graph is ready.
|
void |
addTaskExecutionListener(TaskExecutionListener listener) |
Adds a listener to this graph, to be notified as tasks are executed.
|
void |
afterTask(Closure closure) |
Adds a closure to be called immediately after a task has executed.
|
void |
afterTask(Action<Task> action) |
Adds an action to be called immediately after a task has executed.
|
void |
beforeTask(Closure closure) |
Adds a closure to be called immediately before a task is executed.
|
void |
beforeTask(Action<Task> action) |
Adds an action to be called immediately before a task is executed.
|
List<Task> |
getAllTasks() |
Returns the tasks which are included in the execution plan.
|
Set<Task> |
getDependencies(Task task) |
Returns the dependencies of a task which are part of the execution graph.
|
boolean |
hasTask(String path) |
Determines whether the given task is included in the execution plan.
|
boolean |
hasTask(Task task) |
Determines whether the given task is included in the execution plan.
|
void |
removeTaskExecutionGraphListener(TaskExecutionGraphListener listener) |
Remove a listener from this graph.
|
void |
removeTaskExecutionListener(TaskExecutionListener listener) |
Remove a listener from this graph.
|
void |
whenReady(Closure closure) |
Adds a closure to be called when this graph has been populated.
|
void |
whenReady(Action<TaskExecutionGraph> action) |
Adds an action to be called when this graph has been populated.
|
void addTaskExecutionGraphListener(TaskExecutionGraphListener listener)
Adds a listener to this graph, to be notified when this graph is ready.
listener
- The listener to add. Does nothing if this listener has already been added.void removeTaskExecutionGraphListener(TaskExecutionGraphListener listener)
Remove a listener from this graph.
listener
- The listener to remove. Does nothing if this listener was never added to this graph.void addTaskExecutionListener(TaskExecutionListener listener)
Adds a listener to this graph, to be notified as tasks are executed.
listener
- The listener to add. Does nothing if this listener has already been added.void removeTaskExecutionListener(TaskExecutionListener listener)
Remove a listener from this graph.
listener
- The listener to remove. Does nothing if this listener was never added to this graph.void whenReady(Closure closure)
Adds a closure to be called when this graph has been populated. This graph is passed to the closure as a parameter.
closure
- The closure to execute when this graph has been populated.void whenReady(Action<TaskExecutionGraph> action)
Adds an action to be called when this graph has been populated. This graph is passed to the action as a parameter.
action
- The action to execute when this graph has been populated.void beforeTask(Closure closure)
Adds a closure to be called immediately before a task is executed. The task is passed to the closure as a parameter.
closure
- The closure to execute when a task is about to be executed.void beforeTask(Action<Task> action)
Adds an action to be called immediately before a task is executed. The task is passed to the action as a parameter.
action
- The action to execute when a task is about to be executed.void afterTask(Closure closure)
Adds a closure to be called immediately after a task has executed. The task is passed to the closure as the
first parameter. A TaskState
is passed as the second parameter. Both parameters are
optional.
closure
- The closure to execute when a task has been executedvoid afterTask(Action<Task> action)
Adds an action to be called immediately after a task has executed. The task is passed to the action as the first parameter.
action
- The action to execute when a task has been executedboolean hasTask(String path)
Determines whether the given task is included in the execution plan.
path
- the absolute path of the task.IllegalStateException
- When this graph has not been populated.boolean hasTask(Task task)
Determines whether the given task is included in the execution plan.
task
- the taskIllegalStateException
- When this graph has not been populated.List<Task> getAllTasks()
Returns the tasks which are included in the execution plan. The tasks are returned in the order that they will be executed.
IllegalStateException
- When this graph has not been populated.@Incubating Set<Task> getDependencies(Task task)
Returns the dependencies of a task which are part of the execution graph.
IllegalStateException
- When this graph has not been populated or the task is not part of it.