Friday, February 15, 2008

Why Maven rocks

In the beginning there was "make". Then "make" was eclipsed by "ant". Now I feel that maven is the brightest star in project build and project management universe.

I love maven. Truth be told, I was not always feeling that way. In fact I used to quite dislike maven. Then, my dear open source colleague, Diego turned me on to it. For quite some time, I did not get it at all. It seemed complex and bloated and I felt it was tying my hands. That was back in maven1 days and when all we were trying to use it for was to generate the web site for our freebXML Registry open source project .

Since then a lot has changed. Maven2 has been improved maven tremendously. But more importantly, I understand now, that maven is good for so much more in software projects than simply helping generate its web site.

By now, I have gone from being a skeptic to an avid evangelist for Maven. Nearly, all my projects (and there are many) are now on maven. Those that are not, at least provide their releases in a maven repository so other maven projects can use them easily.

I have often been in a situation where I am trying to use an open source project as a dependency in my project but that project's jars are not available in a maven repository. Maven provides a workaround for this but it is not convenient longer term.

Thus I have often had to beg a project to either transition to maven 2 (usually from ant) or at least make their releases available in a maven repository. To beg effectively, I have often had to write "why maven rocks" in many mailing list.

To make my "begging for maven support" even more effective I have just created the following wiki page summarizing the key benefits:

http://ebxmlrr.wiki.sourceforge.net/whymaven

This is very much a work in progress and your suggestions are greatly appreciated.
The wiki is not editable so please send me any suggestions for improvements as comments to this blog entry.

The better we make the wiki page the more effectively we can all get projects to adopt maven. Thank you for your support.