Open eyalroth opened 3 years ago
I always vote for Kotlin DSL. Being able to go to the definitions, autocomplete,... means Devs get to know better how Gradle works, while with Groovy everything seems pure magic and you don't even know when you are assigning a value or calling a function.
I use it for all the internal Gradle plugins and for all the builds I touch.
I'm happy to switch. @eyalroth would you be interested in taking over the publishing? I don't have permission to grant such a thing, but I'd be happy to second you to the scoverage maintainers.
Thanks, Stu
I always vote for Kotlin DSL.
I can only wholeheartedly agree with @CristianGM
:+1:
@maiflai @alisiikh @helfper @CristianGM @grollinger I'm tagging all of you since all of you pushed code into the repository sometime in the past year or two.
I have a PR ready for migrating the repository from Groovy to Kotlin; however, I have some reservations about this and wanted to hear your opinion on this. I don't have a strong opinion in favor of the migration -- I did this PR for learning and fun.
What I did notice is that:
Build times are slightly slower, as can be seen in the CI builds such as this. It seems that there is a known issue with Kotlin DSL performance over Groovy: here and here.
Documentation of Kotlin DSL (not Kotlin itself) is a bit lacking. It's not that the Groovy DSL is a lot better, but the difference is noticeable, especially in this repository where we use a lot of more "internal" APIs.
In general, I highly prefer statically-typed languages, however I didn't find a huge amount of advantages to this in the context of this repository. There's a lot of hidden Gradle specific "magic" in the Kotlin DSL, and just like with Groovy, the IDE doesn't help you out too much with discoverability and finding out what's wrong.
So what do you guys think? Did you have any experience with Kotlin DSL in other contexts perhaps?