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?

Original source

Related problems