+1, amen :-) On Fri, Nov 27, 2015 at 9:24 AM, Cédric Champeau <[email protected]> wrote:
> > > 2015-11-26 23:58 GMT+01:00 Jeff MAURY <[email protected]>: > >> +1 for Jesper proposition with the modification that 2 being >> groovy-all.jar with binary compatibility but also a Jigsaw module. >> So we could have: >> Groovy 3.x: several Jigsaw module refactored >> Groovy 2.x: same packaging with groovy-all being a stand alone Jigsaw >> module. >> > > I think that's more or less strictly equivalent to the current situation: > Groovy 2 "groovy-all" being a jigsaw module can be as simple as exporting > all packages. And we don't even have to: just put the jar on classpath and > it's done. The problem comes as soon as we want to restrict some things to > internal packages. Today, all the Groovy classes are exposed. Everything > belongs, de facto, to the public API. Also remember that we have limited > resources. Having to maintain multiple jars + jigsaw + android flavors > while we already have a combination of legacy Groovy + indy Groovy + > android Groovy, it's just going to be a nightmare for Maven users (of > course if you use Gradle it's much easier to substitute one transitive > dependency with another). > > My position is that we have so many things to do that it's time to move > forward. I wasn't in that mindset a few weeks ago, but now I think that we > should take advantage that Java 9 is going to break everything in any case. > Also, today, almost nobody use the invokedynamic version because it's too > complicated to activate, because of transitive dependencies (libraries are > built with legacy Groovy, but you want to use the indy version). So let's > simplify everything once for all. > > >> >> Jeff >> >> On Thu, Nov 26, 2015 at 10:45 PM, Jesper Steen Møller < >> [email protected]> wrote: >> >>> Hi list >>> >>> If it’s primarily a question of moving files in modules out into >>> distinct package names, how about doing the following: >>> 1) Move to a Jigsaw-compatible module split going forward, thus breaking >>> compatibility for Jigsaw adopters, and >>> 2) Provide a “compatibility” overlay jar containing all the classes with >>> old package names for non-jigsaw users? >>> >>> That way, only people targetting Jigsaw-enabled runtimes will be hit by >>> the source imcompatibility. >>> >>> -Jesper >>> >>> > On 26. nov. 2015, at 21.29, Jochen Theodorou <[email protected]> >>> wrote: >>> > >>> > On 26.11.2015 21:05, Guillaume Laforge wrote: >>> >> I'm also thinking it's the right moment to "fix" things we've done >>> >> wrong, have a clean separation, not leaking implementation, etc. >>> >> That's feeling like the right moment to seize this opportunity. We >>> >> wouldn't keep the odd location of some of the classes we've already >>> >> mentioned. And as Cédric says, we could also offer a converter in a >>> way >>> >> or another to help the migration. >>> >> People fear transitions like Python 2 to 3 would happen as soon as we >>> >> break compatibility, but the differences between Python 2 and 3 were >>> >> much bigger that what we're speaking about here. >>> > >>> > I think we need a list of the specific cases, then we can talk about >>> the seize of the impact. >>> > >>> > You two know I was all for a big change (MOP2). I am worried about the >>> manpower to actually do that change. I was back then already actually and >>> did not want to do it all alone. >>> > >>> > If a source converter can be done the barrier sure is smaller. On the >>> other hand Python had https://docs.python.org/2/library/2to3.html >>> > >>> > bye blackdrag >>> >>> >> >> >> -- >> Jeff MAURY >> >> >> "Legacy code" often differs from its suggested alternative by actually >> working and scaling. >> - Bjarne Stroustrup >> >> http://www.jeffmaury.com >> http://riadiscuss.jeffmaury.com >> http://www.twitter.com/jeffmaury >> > > -- Guillaume Laforge Apache Groovy committer & PMC member Product Ninja & Advocate at Restlet <http://restlet.com> Blog: http://glaforge.appspot.com/ Social: @glaforge <http://twitter.com/glaforge> / Google+ <https://plus.google.com/u/0/114130972232398734985/posts>
