Defining dependencies between tasks
Until now, we have defined tasks independent of each other. But in our projects we need dependencies between tasks. For example, a task to package compiled class files is dependent on the task to compile the class files. The build system should then first run the compile task, and when the task is finished, the package task must be executed.
In Gradle, we can add task dependencies with the
dependsOn
method for a task. First, let's look at a simple task dependency:
task first << { task -> println "Run ${task.name}" } task second << { task -> println "Run ${task.name}" } // Define dependency of task second on task first second.dependsOn 'first'
Note that we define the dependency of task second
on task first
, in the last line. When we run the script, we see that the first
task is executed before the second
task:
$ gradle second :first Run first :second Run second BUILD SUCCESSFUL Total time: 2.145 secs
Another way to define the...