Interface TaskExecutionGraph
-
public interface TaskExecutionGraphA
TaskExecutionGraphis responsible for managing the execution of theTaskinstances which are part of the build. TheTaskExecutionGraphmaintains 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
TaskExecutionGraphby callingGradle.getTaskGraph(). In your build file you can usegradle.taskGraphto access it.The
TaskExecutionGraphis 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, usingwhenReady(groovy.lang.Closure)oraddTaskExecutionGraphListener(TaskExecutionGraphListener).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description voidaddTaskExecutionGraphListener(TaskExecutionGraphListener listener)Adds a listener to this graph, to be notified when this graph is ready.voidaddTaskExecutionListener(TaskExecutionListener listener)Deprecated.This method is not supported when configuration caching is enabled.voidafterTask(Closure closure)Deprecated.This method is not supported when configuration caching is enabled.voidafterTask(Action<Task> action)Deprecated.This method is not supported when configuration caching is enabled.voidbeforeTask(Closure closure)Deprecated.This method is not supported when configuration caching is enabled.voidbeforeTask(Action<Task> action)Deprecated.This method is not supported when configuration caching is enabled.java.util.List<Task>getAllTasks()Returns the tasks which are included in the execution plan.java.util.Set<Task>getDependencies(Task task)Returns the dependencies of a task which are part of the execution graph.booleanhasTask(java.lang.String path)Determines whether the given task is included in the execution plan.booleanhasTask(Task task)Determines whether the given task is included in the execution plan.voidremoveTaskExecutionGraphListener(TaskExecutionGraphListener listener)Remove a listener from this graph.voidremoveTaskExecutionListener(TaskExecutionListener listener)Deprecated.This method is not supported when configuration caching is enabled.voidwhenReady(Closure closure)Adds a closure to be called when this graph has been populated.voidwhenReady(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
@Deprecated void addTaskExecutionListener(TaskExecutionListener listener)
Deprecated.This method is not supported when configuration caching is enabled.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
@Deprecated void removeTaskExecutionListener(TaskExecutionListener listener)
Deprecated.This method is not supported when configuration caching is enabled.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
@Deprecated void beforeTask(Closure closure)
Deprecated.This method is not supported when configuration caching is enabled.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
@Deprecated void beforeTask(Action<Task> action)
Deprecated.This method is not supported when configuration caching is enabled.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
@Deprecated void afterTask(Closure closure)
Deprecated.This method is not supported when configuration caching is enabled.Adds a closure to be called immediately after a task has executed. The task is passed to the closure as the first parameter. A
TaskStateis passed as the second parameter. Both parameters are optional.- Parameters:
closure- The closure to execute when a task has been executed
-
afterTask
@Deprecated void afterTask(Action<Task> action)
Deprecated.This method is not supported when configuration caching is enabled.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(java.lang.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:
java.lang.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:
java.lang.IllegalStateException- When this graph has not been populated.
-
getAllTasks
java.util.List<Task> getAllTasks()
Returns the tasks which are included in the execution plan. The order of the tasks in the result is compatible with the constraints (dependsOn/mustRunAfter/etc) set in the build configuration. However, Gradle may execute tasks in a slightly different order to speed up the overall execution while still respecting the constraints.
- Returns:
- The tasks. Returns an empty list if no tasks are to be executed.
-
getDependencies
java.util.Set<Task> getDependencies(Task task)
Returns the dependencies of a task which are part of the execution graph.
- Returns:
- The tasks. Returns an empty set if there are no dependent tasks.
- Throws:
java.lang.IllegalStateException- When this graph has not been populated or the task is not part of it.- Since:
- 4.6
-
-