Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to Kotlin DSL #171

Open
eyalroth opened this issue Sep 18, 2021 · 4 comments
Open

Migrate to Kotlin DSL #171

eyalroth opened this issue Sep 18, 2021 · 4 comments

Comments

@eyalroth
Copy link
Contributor

No description provided.

eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Sep 18, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Sep 21, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Sep 21, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Sep 21, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Sep 21, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Sep 21, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 2, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 2, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 2, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 8, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 8, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 9, 2021
eyalroth added a commit to eyalroth/gradle-scoverage that referenced this issue Oct 9, 2021
@eyalroth
Copy link
Contributor Author

eyalroth commented Oct 9, 2021

@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:

  1. 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.

  2. 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.

  3. 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?

@CristianGM
Copy link
Contributor

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.

@maiflai
Copy link
Contributor

maiflai commented Oct 14, 2021

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

@grollinger
Copy link
Contributor

I always vote for Kotlin DSL.

I can only wholeheartedly agree with @CristianGM

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants