This message was deleted.
# plugin-development
s
This message was deleted.
p
It is advised to use abstract Gradle properties. Gradle will provide the implementation.
👌 1
v
Iirc you can even simply define it as interface, it does not even have to be an abstract class.
p
yep, I meant
abstract
as in either an
interface
or an
abstract class
👌 1
t
My question is more like:
Copy code
interface Param {
  var someValue: String
}
vs
Copy code
interface Param {
  val someValue: Property<String>
}
p
Definitely the latter. For consistency and also because it allows you to wire providers.
👌 2
For example if you are wiring a system property provider and the service is only used at execution time, then that system property won't take part of the configuration cache key. If you use a plain string then you need to do the system property read at configuration time.
v
Definitely the latter, yes. Can you even use a plain
String
when it is abstract?
t
As far as I see - yes