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