Skip to content

Scala vs Groovy for gradle plugin implementation #22

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

Closed
maiflai opened this issue Dec 20, 2014 · 0 comments
Closed

Scala vs Groovy for gradle plugin implementation #22

maiflai opened this issue Dec 20, 2014 · 0 comments
Labels

Comments

@maiflai
Copy link
Contributor

maiflai commented Dec 20, 2014

@Kwestor suggested that it would be easier to use Scala to implement the gradle scoverage plugin, as it directly uses some of the classes provided by the scalac-scoverage-plugin (which is itself written in Scala).

I considered using Scala when writing the first version of gradle-scct, but I decided against it because I think that gradle loads all plugins into the 'build' classpath, and this may lead to a Scala version clash between two independent plugins.

I think that the scoverage Maven plugin is written in Java, but if it was written in Scala then I would likewise expect version clash.

I think SBT deals with this by saying that a version of SBT requires a single fixed Scala version, and SBT plugins must be released against a version of SBT; i.e. a new major version of SBT requires all plugins to re-publish, and all plugins must support SBT's current Scala version.

Gradle is more flexible about these things, and this leads to low maintenance overhead for plugin writers. A single release of this plugin supported practically all versions of Scala and Scoverage (until the 1.0 release renamed some of the reporting classes).

There was some discussion in the scalac-scoverage-plugin repository about refactoring the reporting from the sbt-scoverage-plugin, moving it up to the scalac-scoverage-plugin. If this can be done in a Java/Groovy-friendly way (as the current reporting classes are), then I hope the functionality can be neatly re-used from Gradle, Maven and SBT.

@maiflai maiflai changed the title Scala vs Groovy for gradle plugin implementation (discussion, not really an issue...) Scala vs Groovy for gradle plugin implementation Dec 23, 2014
@maiflai maiflai closed this as completed Apr 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant