In a custom task you can use annotations to specify the input and output for the “up to date” check, but how do you specify an upToDateWhen closure?
If I put it in the @TaskAction method, like in the simple example below, then the task always gets executed and I get a “deprecated” message. How do you put something in the configuration phase in a custom task?
:stuff
Calling TaskOutputs.upToDateWhen(Closure) after task execution has started has been deprecated and is scheduled to be removed in Gradle 2.0. Check the configuration of task ':stuff'.
class DoStuffTask extends DefaultTask {
@Input
String message
@TaskAction
void doStuff() {
outputs.upToDateWhen {
return true
}
println "${message}"
}
}