api / org.gradle.api / Task / onlyIf

onlyIf

abstract fun onlyIf(onlyIfClosure: Closure<Any>): Unit

Execute the task only if the given closure returns true. The closure will be evaluated at task execution time, not during configuration. The closure will be passed a single parameter, this task. If the closure returns false, the task will be skipped.

You may add multiple such predicates. The task is skipped if any of the predicates return false.

Typical usage:myTask.onlyIf{ dependsOnTaskDidWork() }

Parameters

onlyIfClosure - code to execute to determine if task should be run

abstract fun onlyIf(onlyIfSpec: Spec<in Task>): Unit

Execute the task only if the given spec is satisfied. The spec will be evaluated at task execution time, not during configuration. If the Spec is not satisfied, the task will be skipped.

You may add multiple such predicates. The task is skipped if any of the predicates return false.

Typical usage (from Java):

myTask.onlyIf(new Spec<Task>() { boolean isSatisfiedBy(Task task) { return task.dependsOnTaskDidWork(); } }); 

Parameters

onlyIfSpec - specifies if a task should be run