Если вы просто хотите напечатать отметку времени в конце сборки (после выполнения последней задачи), вы можете реализовать ее следующим образом:
gradle.getTaskGraph().whenReady { graph ->
graph.getAllTasks().last().doLast {
Date now = new Date()
println "\n ***** All completed @ $now ***"
}
}
Таким образом, вы добавите действие к последней задачевыполняется согласно графику выполнения задачи, вычисленному Gradle.
Вы также можете использовать buildFinished ловушку, но обратный вызов будет выполнен после BUILD SUCCESSFUL in ##s
сообщения
gradle.buildFinished {
Date now = new Date()
println "\n ***** All completed @ $now ***"
}
результата с командой ./gradlew classes
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
BUILD SUCCESSFUL in 0s
2 actionable tasks: 2 up-to-date
***** All completed @ Thu Sep 20 21:15:03 CEST 2018 ***
В обоих решениях этот обратный вызов будет выполняться независимо от выполняемой задачи ( сборка gradle , очистка gradle , * сборка gradle **, ..)