Hi Robert, thanks again for your answers. I can't bind the javadoc:aggregate-jar goal to the package phase because goals with "@Mojo ( aggregator = true )" are only executed once (instead of once per module) if they are invoked from the command line.
Cheers, Jon Le mar. 4 févr. 2020 à 18:48, Robert Scholte <rfscho...@apache.org> a écrit : > Hi Jon, > > it is not possible so start a lifecycle from the middle. > In case of 'mvn package javadoc:aggregate-jar install' you should bind > the javadoc:aggregate-jar to the package-phase, and now you can run 'mvn > install'. > If you don't want to run it all the time, consider putting the > javadoc-plugin in a profile and activate it when wished. > > You experience might improve if/when we implement MNG-5885 > > thanks, > Robert > > https://issues.apache.org/jira/browse/MNG-5885 > On 4-2-2020 08:58:18, Jon Harper <jon.harpe...@gmail.com> wrote: > Hi Robert, > thanks for you reply. I'll keep an eye out for these improvements. > > Another obstacle to my use case is that when running > $ mvn package javadoc:aggregate-jar install > the install phase doesn't continue where package finished, instead it > starts over. > > Is there a way to tell maven to run the lifecycle only once and > continue from the previous phase ? > > Note: > The same thing happens when running > $ mvn package install > or even > $ mvn package package > everything is done twice. > > thanks in advance, > Jon > > On Mon, Feb 3, 2020 at 8:12 PM Robert Scholte wrote: > > > > Hi Jon, > > > > it is bothering me for a while that Maven is not yet capable to see that > a fork is not required (in most cases) when it is executed as part of a > lifecycle. > > Introducing x-no-fork goals is a fast workaround, but it is probably > time to do this properly. > > > > Also plugins should be improved to see if they should do their action, > e.g.: > > Consider using the following flag in for the java compiler: > > > > -Xpkginfo:{always,legacy,nonempty} Specify handling of package-info files > > > > Maybe this will already improve your buildtime. > > > > thanks, > > Robert > > > > On 2-2-2020 17:56:15, Jon Harper wrote: > > Hi list, > > > > I would like to package a multimodule project (jar of each submodule) > > and then create one aggregated javadoc jar attached to root pom. > > The best solution I came up with is using the following command line > > > > $ mvn package javadoc:aggregate-jar > > > > It uses the fact that aggregate-jar is declared "@Mojo ( aggregator = > > true )", so when the goal is explicitly called on the command line it > > executes only once on the root pom. (if the goal is bound to a phase > > of the lifecycle of the root pom, it will execute before the children > > which I don't want) > > > > One downside of this approach is that aggregate-jar forks the > > lifecycle and so everything gets recompiled (which takes a long time > > if you have many modules, or if you use features that prevent avoiding > > recompiling, like having a package-info.java or using > > maven-templating-plugin to insert build timestamps in your sources) > > > > It seems like adding a javadoc:aggregate-jar-no-fork would solve the > problem. > > > > Is my understanding correct, and can we add the aggregate-jar-no-fork > > goal ? Or what is everyone doing to generate aggregated javadocs > > without recompiling everything > > > > Thanks, > > Jon > > > > PS: another downside is that you must not forget to add the explicit > > goal on the command line, but I can't see a solution for that, except > > for the proposed lifecycle redesign with pre and post phases, which we > > will get in the far future as far as I understand. > > > > PS2: adding javadoc:aggregate-jar-no-fork would also be useful for > > people who generate their aggregated javadoc on a "distribution" > > submodule which has dependencies to everything instead of the root > > pom. Currently they can make it work by using aggregate-no-fork and > > then maven-jar-plugin but it's a bit complicated. > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > For additional commands, e-mail: users-h...@maven.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > >