For example from:
setAdditionalProperties(
mutableMapOf(
"templateEngine" to "mustache",
"dateLibrary" to "string"
...
)
)
to: Kotlin DSL / configure blocks
additionalProperties {
templateEngine = MUSTACHE // enum instead of string
dateLibrary = STRING // enum instead of string
generateInfrastructure = false
...
}
or to: Methods
additionalProperties {
setTemplateEngine(MUSTACHE /* enum instead of string */)
setDateLibrary(STRING /* enum instead of string */)
generateInfrastructure(false)
...
}
This can eliminate setup errors, is much more descriptive and gives the user an overview of the options offered.