For those you following along with our story on improving Maven, you'll happy to know that we have made a significant step today with the release of Maven 3.0-alpha-3. Though we are marking this as an alpha release, we are largely feature complete for Maven 3.0 and consider this to be the best version of Maven that has ever existed.
Our primary goals with Maven 3.0 are:
1) Provide a drop-in replacement for Maven 2.x. You should not have to change your POMs, or rewrite plugins. Your projects should just work.
2) Provide a more reliable, stable and performant Maven. We have tried to make Maven 3.x faster and we've succeeded for any of the projects that we've tested. We have a performance framework in place to make sure we don't regress. We are measuring network I/O, disk I/O, CPU utilization and memory usage. We also have a massive number of integration tests to make sure the behavior remains consistent and compatible as we progress. We simply aren't going to go backward at this point.
3) Synchronize the m2eclipse releases with Maven 3.x so that we can immediately push fixes from Maven 3.x into m2eclipse. For a long time m2eclipse was out of sync with Maven trunk and created a great number of problems. We are now completely in sync and within hours of making changes in Maven 3.x they make it into the CI builds of m2eclipse.
4) Provide an easy way to embed Maven as a library. I think we've really proven this with m2eclipse but Sonatype has two other efforts taking place. The first is to embed Maven 3.0 into Hudson and the second is to embed Maven 3.0 into Nexus. The APIs that we are creating not being final is largely why we are still releasing alphas. From a CLI perspective we're pretty much done, from an embedding perspective we still have some work to do.
4) Provide a solid base for extensions and reuse. There are three efforts going on here which are pushing the boundaries of Maven 3.x:
We are not forgetting about documentation either. All the work that has been done in Maven 3.x is currently being documented in Maven: The Definitive Guide and we will be complete when Maven 3.0 goes GA. We also have some pretty cool site generation tools that I am using to create a new Maven 3.0 site which is also be ready in time for the final release.
For now, Benjamin and I are preparing for any feedback from users who want to try the alpha-3 release and we'll be standing by to apply patches and make fixes for anything that users find -- just like we have for the last year. This is part of Sonatype's ongoing commitment to help sustain the Maven ecosystem to provide the support, tooling, and documentation to help get new users and developers involved.