Task dependency
When we talk about build lifecycle or test lifecycle of any build tool, what does actually happen internally? It does not execute only one task; it basically executes a group of tasks, which are defined in a certain order and this order is nothing but the task dependencies. Consider the example of building any Java project. You can build a Java project by executing the gradle build
task. This will do everything, such as compiling the source code, package classes into JAR file and copy the JAR file to a location. Does it mean that all these processes are only part of the build task? The message we want to convey here is that Gradle's build
task does not execute only one task, but it executes the series of tasks from compileJava
, classes
, compiileTestJava
and so on until the building of the JAR file.
The preceding figure is nothing but the representation of the DAG after applying the Java plugin. It represents different tasks and how they are dependent on each other...