Hi,

as some of you may know already, Guillaume (cc'd) and me are working on a Daemon for Maven [1].

As with Gradle daemon, the main idea is to keep the JVM and the Maven plugins' code warm in a long living process so that during repeated builds the JIT-optimized code is available immediately.

In addition to that, the builds are run with -T1C by default, there are some improvements in how the build progress is presented to the user and the `mvnd` command line client is a GraalVM native executable.

Our main motivation to work on this was to make the building of our primary work projects faster. We work on Apache Camel, Camel Quarkus, Quarkus, etc. - all those are rather large projects with hundreds of Maven modules.

I think we can say that the project left the PoC phase recently. We use it for our daily work, we made it available via SDKMAN and we are solving issues coming from the users.

We'd like to contribute our code to Maven at some point when we believe that it is stable and battle tested enough.

mvnd existed without mvn script for some time and therefore it could peacefully co-exist with stock Maven. Now it looks like we have to add our own mvn for reasons mentioned in https://github.com/mvndaemon/mvnd/pull/89 . Due to that, mvnd got some potential to clash with stock Maven when installed on the same machine. I am not especially happy about that and I wanted to assure the Maven community that we do it for technical reasons and that our ultimate aim is to contribute rather than hijack the ecosystem.

Of course you are welcome to try mvnd and give feedback.

Thanks,

-- Peter

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to