Gradle Goodness: Run Task Ignoring Up-to-date Checks
Gradle builds are fast because Gradle supports incremental tasks.
This means Gradle can determine if input or output of task has changed, before running the task.
If nothing has changed a task is marked a up-to-date and the task is not executed, otherwise the task is executed.
If we want execute a task even if it is up-to-date we must use the command line option --rerun-tasks
.
In the following example we run the assemble
task for a simple Java project, and we see all tasks are executed.
When we invoke the assemble
task again we see the tasks are all up-to-date:
$ gradle assemble
:compileJava
:processResources
:classes
:jar
:assemble
BUILD SUCCESSFUL
Total time: 1.765 secs
$ gradle assemble
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:assemble UP-TO-DATE
BUILD SUCCESSFUL
Total time: 0.715 secs
$
To run all tasks without an up-to-date check we use the option --rerun-tasks
:
$ gradle --rerun-tasks assemble
:compileJava
:processResources
:classes
:jar
:assemble
BUILD SUCCESSFUL
Total time: 1.037 secs
$
Written with Gradle 3.2.1.