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 <jon.harpe...@gmail.com> 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

Reply via email to