kotlin-dsl has a set of Kotlin dependencies which are bundled with Gradle (currently Kotlin 1.2.61). The detekt Gradle plugin is written in Kotlin, but because it has the kotlin-dsl plugin as a dependency, hte plugin must be written in the same version of Kotlin.
In the plugin it looks like the only kotlin-dsl feature currently used is the property extension function: https://github.com/gradle/kotlin-dsl/blob/v1.0-RC6/subprojects/provider/src/main/kotlin/org/gradle/kotlin/dsl/ObjectFactoryExtensions.kt#L52-L58
Could easily copy the extension function or just use a slightly less pleasant syntax to create a Property, and then the plugin wouldn't be held back to whichever version of Kotlin Gradle bundles.
kotlin-dsl for plugin development. Should it stay or should it go?
kotlin-dsl has a set of Kotlin dependencies which are bundled with Gradle (currently Kotlin 1.2.61). The detekt Gradle plugin is written in Kotlin, but because it has the
kotlin-dslplugin as a dependency, hte plugin must be written in the same version of Kotlin.In the plugin it looks like the only kotlin-dsl feature currently used is the
propertyextension function: https://github.com/gradle/kotlin-dsl/blob/v1.0-RC6/subprojects/provider/src/main/kotlin/org/gradle/kotlin/dsl/ObjectFactoryExtensions.kt#L52-L58Could easily copy the extension function or just use a slightly less pleasant syntax to create a Property, and then the plugin wouldn't be held back to whichever version of Kotlin Gradle bundles.
kotlin-dsl for plugin development. Should it stay or should it go?