# property

abstract fun property(name: String, @Nullable value: @Nullable Any): TaskInputPropertyBuilder

Registers an input property for this task. This value is persisted when the task executes, and is compared against the property value for later invocations of the task, to determine if the task is up-to-date.

The given value must be a simple value, like a String or Integer, or serializable. For complex values, Gradle compares the serialized forms for detecting changes and the `equals()` method is ignored.

If the value is not known when registering the input, a org.gradle.api.provider.Provider can be passed instead. Gradle will then resolve the provider at the latest possible time in order to determine the actual property value.

#### Parameters

name

The name of the property. Must not be null.

value

The value for the property. Can be null.