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

Reply via email to