The advantage with the fat jar is the convenience of being able to run Groovy without a dependency management system (Gradle/Maven). Java -jar with just the groovy-all jar is going to get you a long way. Then again, I bet most people who aren't using Gradle/Maven probably just download the distribution. So I see the groovy-all jar as a nice to have but not necessarily essential.
Cheers, Paul. On Thu, Nov 23, 2017 at 5:22 AM, Leonard Brünings < [email protected]> wrote: > I agree with Cédric, that is also what I suggested before. > > With maven/gradle the usage of groovy-all is currently done out of > convenience. > > I think most projects would work just as well, if groovy-all would be > turned into an > empty jar that just depends on the other jars. > > > Am 22.11.2017 um 19:41 schrieb Jochen Theodorou: > >> Of course you arr right, I am more worried about the migration path in >> combination with the final result. >> >> On 22.11.2017 14:30, Cédric Champeau wrote: >> >>> Said differently, if you depend on `groovy-all`, it will _effectively_ >>> bring groovy, groovy-json, groovy-xml, groovy-... >>> >>> All of those can be proper modules (as long as we fix the split >>> packages). Then if someone else only brings in `groovy` + `groovy-json`, >>> there's no conflict. >>> >>> 2017-11-22 14:29 GMT+01:00 Cédric Champeau <[email protected] >>> <mailto:[email protected]>>: >>> >>> That's precisely what I'm saying: we don't need a fat jar. We need a >>> _module_ (Maven/Gradle sense of a module), which brings in the jars >>> of the individual modules (JPMS sense). So there's no such think as >>> a fat jar anymore, we don't need it. >>> >>> 2017-11-22 14:26 GMT+01:00 Jochen Theodorou <[email protected] >>> <mailto:[email protected]>>: >>> >>> >>> >>> Am 22.11.2017 um 11:47 schrieb Cédric Champeau: >>> >>> What is the advantage of providing a fat jar, if you can >>> have a "virtual" dependency, groovy-all, which brings all >>> the others in? There used to be a difference, but now it's >>> not that clear. >>> >>> >>> How are you going to express dependencies with automatic >>> modules? They are automatic, because they lack the information a >>> proper module provides and part of that information is the >>> dependencies afaik. JPMS != maven. >>> >>> If you want groovy-all to bring in all the dependencies, then >>> basically it is an almost empty jar with dependencies and the >>> dependencies are the real modules. the fat-jar itself cannot >>> provide any packages those dependencies to provide, otherwise >>> you have conflicts. The empty groovy-all-approach is something >>> we could go for in maven too of course. But its is not a fatjar >>> then ;) >>> >>> bye Jochen >>> >>> >>> >>> >> >
