Re: Multiple executions of Maven with a single run

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: Multiple executions of Maven with a single run

Enrico Olivelli

Il giorno dom 5 gen 2020 alle ore 18:14 Romain Manni-Bucau <
[hidden email]> ha scritto:

> Hi Enrico
> Technically concatenating all goals for all modules will do it but will be
> quite long - guess it is why we do it in 2 times.
> That said i always wondered why maven can read commands from a file/stdin
> as any unix like soft so it would be something like:
> mvn --commands-file ci.cmdlist
> Using stdin/echo it would also match ypur ci need maybe?

(I am sorry, It seems that my original email was truncated or the email
client sent some draft of the email.)

This is exactly my second proposal.

Currently I am also thinking that this can simply be a new mojo of the
'invoker' plugin

mvn invoker:commandlist -Dcommandlist=/path/tofile
or getting the list from stdin

I have never dug into invoker but it seems to me that it should have all of
the facilities to perform this task.
The only challenge I see is about Java System properties to be set at
bootstrap time, like -Dfile.encoding....
but the Invoker plugin may fork new JVMs so it should not be a big problem
and btw it is a secondary issue


> Le dim. 5 janv. 2020 à 17:31, Enrico Olivelli <[hidden email]> a
> écrit :
> > Hello,
> > Sometimes it happens that you have to launch twice Maven to:
> > - build a whole reactor project (warmup)
> > - run some specific mojo only a selection of modules
> >
> > mvn clean install -DskipTests -Dmaven.repo.local=tmprepo
> >
> > mvn do:something -pl module1,module1-Dmaven.repo.local=tmprepo
> >
> > I think that in the general case there is no way to do this with one
> single
> > execution of Maven, for instance from CI.
> >
> > I am thinking about a simple enhancement to workaround this problem:
> > We can let Maven executable to accept a list of command line execution
> > arguments and loop executing the list, halting at the first failure
> >