The split package problem
Sander Mak
sander.mak at luminis.eu
Fri Nov 4 11:36:49 UTC 2016
> On 04 Nov 2016, at 12:06, Cédric Champeau <cedric.champeau at gmail.com> wrote:
>
> It's a very big issue, typically all Gradle plugins written in Groovy would
> break. Gradle itself would break. There are things to mitigate that, like
> rewriting classes at load time, or an easier solution which is to have a
> single Groovy module for all (and come back to the monolith era, sigh...).
Wouldn't a better solution be to provide a groovy-all module that 'requires transitive' the other actual groovy modules. That leaves you, as a library designer, the freedom to modularise freely behind the scenes (probably moving the split packages back together in a module), while not burdening users who just want to grab groovy and run with it. People who do know they actually only use parts are free to require just the modules they need, without using groovy-all. That does admittedly not solve the problem of breaking backward compatibility for non-Java 9 users.
Sander
More information about the jigsaw-dev
mailing list