Daemonized maven distro available

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Daemonized maven distro available

gnodet
Hey guys,

In my fight to speed up the camel build, I've been working these past days
on maven improvements.  After having worked on the build (need to push some
fixes btw), then maven (speed improvements incorporated in maven 3.6.2),
i've decided to spend some time enhancing maven further.

What I came up with is something which looks like gradle but works with
maven.  The maven client spawns a daemon if needed instead of running the
build locally.  The benefits is that the second time the build is launched,
the JVM does have everything ready and that speeds things a lot.  Note that
the build is run concurrently, so this still causes some problems with the
Camel build which still rely on the pom ordering instead of explicit
dependencies.
The outcome is available at [1].  It's really easy to build and the only
thing is that you should use the mvnd executable instead of the maven.

Please have a look and do not hesitate to raise issues if you encounter any
problem or think about any way to enhance it.  If you think the project is
interesting enough, i'll fix them.

[1] https://github.com/gnodet/mvnd

--
------------------------
Guillaume Nodet
Reply | Threaded
Open this post in threaded view
|

Re: Daemonized maven distro available

Peter Palaga
I started using it and I like it. Thanks, -- P

On 27/09/2019 23:45, Guillaume Nodet wrote:

> Hey guys,
>
> In my fight to speed up the camel build, I've been working these past days
> on maven improvements.  After having worked on the build (need to push some
> fixes btw), then maven (speed improvements incorporated in maven 3.6.2),
> i've decided to spend some time enhancing maven further.
>
> What I came up with is something which looks like gradle but works with
> maven.  The maven client spawns a daemon if needed instead of running the
> build locally.  The benefits is that the second time the build is launched,
> the JVM does have everything ready and that speeds things a lot.  Note that
> the build is run concurrently, so this still causes some problems with the
> Camel build which still rely on the pom ordering instead of explicit
> dependencies.
> The outcome is available at [1].  It's really easy to build and the only
> thing is that you should use the mvnd executable instead of the maven.
>
> Please have a look and do not hesitate to raise issues if you encounter any
> problem or think about any way to enhance it.  If you think the project is
> interesting enough, i'll fix them.
>
> [1] https://github.com/gnodet/mvnd
>

Reply | Threaded
Open this post in threaded view
|

Re: Daemonized maven distro available

Peter Palaga
Applying some workarounds [1], mvnd clean install -DskipTests now takes
~25 sec on my ThinkPad P50 which was ~57 sec with the sock Maven.
Guillaume, you are a treasure! -- P

[1] https://github.com/gnodet/mvnd/issues/12

On 30/09/2019 16:49, Peter Palaga wrote:

> I started using it and I like it. Thanks, -- P
>
> On 27/09/2019 23:45, Guillaume Nodet wrote:
>> Hey guys,
>>
>> In my fight to speed up the camel build, I've been working these past
>> days
>> on maven improvements.  After having worked on the build (need to push
>> some
>> fixes btw), then maven (speed improvements incorporated in maven 3.6.2),
>> i've decided to spend some time enhancing maven further.
>>
>> What I came up with is something which looks like gradle but works with
>> maven.  The maven client spawns a daemon if needed instead of running the
>> build locally.  The benefits is that the second time the build is
>> launched,
>> the JVM does have everything ready and that speeds things a lot.  Note
>> that
>> the build is run concurrently, so this still causes some problems with
>> the
>> Camel build which still rely on the pom ordering instead of explicit
>> dependencies.
>> The outcome is available at [1].  It's really easy to build and the only
>> thing is that you should use the mvnd executable instead of the maven.
>>
>> Please have a look and do not hesitate to raise issues if you
>> encounter any
>> problem or think about any way to enhance it.  If you think the
>> project is
>> interesting enough, i'll fix them.
>>
>> [1] https://github.com/gnodet/mvnd
>>
>