Search code examples
gradlegroovydefault-valuegradle-properties

Gradle - Get the default value (convention) of a Property


I want to achieve a very basic thing (in any normal language): I would like to get the default value (convention) of a Property. Gradle docs in chapter Lazy configuration, describes how to apply the convention to a Property:

def property = objects.property(String)

// Set a convention
property.convention("convention 1")
println("value = " + property.get())

// Can replace the convention
property.convention("convention 2")
println("value = " + property.get())

property.set("value")

// Once a value is set, the convention is ignored
property.convention("ignored convention")
println("value = " + property.get())

The problem is, that you cannot query the property to get information what is the convention (the default value) when you set a value. It seems that the only way it's to clear (nullify) the value:

property.value(null).get()

But this is just stupid because you are doing unnecessary actions, while the convention is somewhere there?

Does anyone know how to get it without clearing the value?


Solution

  • The answer (for 2022) is: No, you can't get the default value (convention) of a Property.