Maven 3.x, Community Participation, and Multi-Threaded Execution

By

1 minute read time

One of the key goals of Maven 3.x is to clean up the code to allow others to participate. There are quite a few Maven committers, but most work on plugins: there aren't that many people who work on the core. For the Maven 3.x core, it's been Benjamin, Igor, and myself for the most part. We have been fortunate that Olivier helped us separate the reporting internals from the core, and we think it will be easier for people to participate in the changes we've made to the codebase and the enormous amount of testing we've added. Although most of the work done on Maven 3.x has been done by Sonatype that's no way to build a healthy community.

The first sign I had that things are changing was a couple days ago, when another committer who traditionally doesn't work on the core made the start at a cool new feature. Dan Fabulich looked at the core and attempted to add multi-threaded build capabilities, and for the most part was successful. This may not make it into the alpha-3 or alpha-4, but it will be included shortly. This is proof that the work we have done providing a healthy groundwork has paid off. Our integration tests caught a few problems that cropped up due to multi-threaded builds, and those were quickly resolved. So that's good news, and I think this situation will only improve as we move toward Maven 3.0. We also have lots of people patching Tycho (Sonatype's toolchain for building Eclipse plugins and OSGi bundles) and I believe it's directly due to providing a prodigious quantity of tests so that people can experiment freely.

So this is all good news for the Maven community. Once the multi-threaded build support is integrated, we can combine that with the make-like reactor mode built into Maven 3.x (another feature added via the plugin in Maven 2.x by Dan Fabulich, which was ported to Maven 3.x by Benjamin), and the new caching system, which will lead to a deadly fast Maven 3.x.

Picture of Jason van Zyl

Written by Jason van Zyl

Jason is a co-founder and the former CTO of Sonatype.

Tags