Hi, I've experimented with Maven and Java 9 the last weekend and actually one of the things I noticed is that currently I could not set the module version.
I do agree that the packaging should be stupid action and the module-info transformation should happen before that. But I'm not sure why the Maven Shade plug-in is the place to do that. Probably I'm missing something, would you explain a bit? > Or should these extra (basic?) features require an extra setup of a maven-plugin so all transformations are done by one plugin only. My thoughts exactly. While it makes sense to have separate plugin for that (maybe in the future the module-info.class will contain more information?), I'm not sure it's worth to have separate plugin just for that. And if we don't have separate plugin then I think the Jar plugin is the better place because: 1. this way it's consistent with the JDK tools 2. up until Java 9 the usual place to put meta-information about the package was to place in in the META-INF directory and package it. Of course the processing An interesting question (no matter which plugin does the transformation) is that if the module-version should be added by default? I feel a bit uncomfortable about the idea to enable it by default but on other hand the module-info is a new class so it's unlikely to break anything and it may prove tiresome to have to set the version explicitly. I mean why would you want not to have the version set? I personally think that the majority of the projects would like to have the version set. Regards, Plamen Totev On Tue, Aug 22, 2017 at 8:17 PM, Robert Scholte <rfscho...@apache.org> wrote: > Hi, > > The JDK 9 jar packager comes with 2 extra options: main-class and > module-version. > The first one is used in case of an executable modular jar, the latter is > just for display/analysis to show which version of a specific module is > used. > To support these 2 values, the module-info.class must be adjusted (yes, > the bytecode!). > > It is not that hard to support this as well with a little help from ASM, > but the question is: which plugin should do this: maven-jar-plugin or > maven-shade-plugin? > If you consider this kind of information to be part of the packaging > process, maven-jar-plugin seems to be the best fit. > However, if you consider this as a resource transformation, then > maven-shade-plugin seems better. > > Personally I think packaging should be quite a stupid action: making a jar > from a set of files. And it should be very reliable, since it is part of > the lifecycle of the most used packaging type. Of course you can control > this when exposed as parameters... > > Or should these extra (basic?) features require an extra setup of a > maven-plugin so all transformations are done by one plugin only. > > WDYT? > Robert > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >