Gradle always does println from any task
gradle, java, println
Solution
If You have the following piece of code:
task task1 {
println 'task1 starting'
}
You're in configuration phase of a task. This phase is run during script evaluation. If You'd like to print something while task is executed You need to add an action for task.
It looks like:
task task1 << {
println 'task1 action'
}
This piece of code will be evaluated while the task is being run. `<<` is exactly the same as invoking `doLast` method on Task's object. You can add many actions.
EDIT I also highly encourage you to read this blog post.
Problem
I have simple `build.gradle` (or any `build.gradle` with task that has `println`) ``` println GradleVersion.current().prettyPrint() task task1{ println 'task1 starting' } ``` Now when I run `$ gradle build` I always see tasks executing or print output ``` task1 starting :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :assemble :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE :check UP-TO-DATE :build BUILD SUCCESSFUL Total time: 1.291 secs ``` Why there is always output from `println` inside tasks?