Interface TaskExecutionGraph
-
public interface TaskExecutionGraph
A
TaskExecutionGraph
is responsible for managing the execution of theTask
instances which are part of the build. TheTaskExecutionGraph
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 callingGradle.getTaskGraph()
. In your build file you can usegradle.taskGraph
to access it.The
TaskExecutionGraph
is populated only after all the projects in the build have been evaulated. It is empty before then. You can receive a notification when the graph is populated, usingwhenReady(groovy.lang.Closure)
oraddTaskExecutionGraphListener(TaskExecutionGraphListener)
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods 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.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.
-
-
-
Method Detail
-
addTaskExecutionGraphListener
void addTaskExecutionGraphListener(TaskExecutionGraphListener listener)
Adds a listener to this graph, to be notified when this graph is ready.
- Parameters:
listener
- The listener to add. Does nothing if this listener has already been added.
-
removeTaskExecutionGraphListener
void removeTaskExecutionGraphListener(TaskExecutionGraphListener listener)
Remove a listener from this graph.
- Parameters:
listener
- The listener to remove. Does nothing if this listener was never added to this graph.
-
addTaskExecutionListener
void addTaskExecutionListener(TaskExecutionListener listener)
Adds a listener to this graph, to be notified as tasks are executed.
- Parameters:
listener
- The listener to add. Does nothing if this listener has already been added.
-
removeTaskExecutionListener
void removeTaskExecutionListener(TaskExecutionListener listener)
Remove a listener from this graph.
- Parameters:
listener
- The listener to remove. Does nothing if this listener was never added to this graph.
-
whenReady
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.
- Parameters:
closure
- The closure to execute when this graph has been populated.
-
whenReady
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.
- Parameters:
action
- The action to execute when this graph has been populated.- Since:
- 3.1
-
beforeTask
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.
- Parameters:
closure
- The closure to execute when a task is about to be executed.
-
beforeTask
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.
- Parameters:
action
- The action to execute when a task is about to be executed.- Since:
- 3.1
-
afterTask
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.- Parameters:
closure
- The closure to execute when a task has been executed
-
afterTask
void 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.
- Parameters:
action
- The action to execute when a task has been executed- Since:
- 3.1
-
hasTask
boolean hasTask(String path)
Determines whether the given task is included in the execution plan.
- Parameters:
path
- the absolute path of the task.- Returns:
- true if a task with the given path is included in the execution plan.
- Throws:
IllegalStateException
- When this graph has not been populated.
-
hasTask
boolean hasTask(Task task)
Determines whether the given task is included in the execution plan.
- Parameters:
task
- the task- Returns:
- true if the given task is included in the execution plan.
- Throws:
IllegalStateException
- When this graph has not been populated.
-
getAllTasks
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.
- Returns:
- The tasks. Returns an empty set if no tasks are to be executed.
- Throws:
IllegalStateException
- When this graph has not been populated.
-
-