breandan
10/24/2018, 7:43 AMgildor
10/24/2018, 7:44 AMgildor
10/24/2018, 7:45 AMbreandan
10/24/2018, 7:49 AMgildor
10/24/2018, 7:51 AMPlugin authors everywhere will now have to support two different front endsNo need to support two. Plugin author just should follow Gradle recommendation for plugins and such plugin will work proprly for Groovy and Kotlin
gildor
10/24/2018, 7:53 AMgildor
10/24/2018, 7:54 AMgildor
10/24/2018, 7:54 AMI would have expected the RC to be more polishedUnfortunately Kotlin DSL can do nothing with dynamic plugins, the way that they follow is to fix existing Gradle APIs and popular plugins
gildor
10/24/2018, 7:56 AMI heard they were redesigning some aspects of the DSLExactly, implementation is different, type safe, not like dynamic grovvy, but still they try to have the same (source-compatible as it possible) DSL
breandan
10/24/2018, 7:58 AMgildor
10/24/2018, 7:59 AMgildor
10/24/2018, 8:00 AMbreandan
10/24/2018, 8:01 AMgildor
10/24/2018, 8:02 AMbreandan
10/24/2018, 8:05 AMproperty =
syntax, even though a setProperty
method is provided (similar to Java interop)gildor
10/24/2018, 8:06 AMgildor
10/24/2018, 8:07 AMYeah, usually because getProperty is not avilable or getProperty and setPropery have different types or even nullabilitysyntax, even though aproperty =
method is provided (similar to Java interop)setProperty
breandan
10/24/2018, 8:08 AMnapperley
10/24/2018, 6:50 PMbreandan
10/25/2018, 3:43 AMgildor
10/25/2018, 3:48 AMrequiring plugins authors to add a bunch of extension methods is just not going to scale wellthis is not a solution. Solution to provide DSL implementation that works same or very similar for both Groovy and Kotlin, for many use cases it’s already true if follow some rules
gildor
10/25/2018, 3:50 AMprogrammatically transform Groovy to Kotlin DSL like Java to KotlinUnfortunately it’s almost impossible. Groovy is too dynamic so you cannot write proper tooling for it (this is main reason why Gradle decide to use Kotlin). Of course it can be some very simple and dump converter (replace string
'
to "
, replace a few known dsls, but it really not scalable solution)gildor
10/25/2018, 3:56 AMit would be nice if that DSL was syntactically as close to the Groovy DSL as possibleThis is achievable in many cases, especially if plugin author worry about it, but still many ways to break this source compatibility