Is there a reason `kotlin.abiValidation` couldn't ...
# gradle
m
Is there a reason
kotlin.abiValidation
couldn't be a type safe
fun abiValidation(action: Action<AbiValidationExtension>)
? I get that working with extensions is best for top level blocks because of Groovy interop but is it also needed for nested blocks? Reason I'm asking is it hurts discoverability when working in convention plugins where generated accessors are not always available.
v
Probably because it is not always present. That extension is only created if ABI validation is actually enabled (i.e. not disabled using
kotlin.abi.validation.disabled
)
m
Follow up question is why would I disable it (there is also
kotlin.abiValidation.enabled
)
🤷‍♂️ 1
Might be an optimisation to simplify the Gradle model for projects where it's not enabled
But if that's the case, why not make it like
Copy code
kotlin {
  jvm() // tasks are created here
}
?
Or is there some other reason?