February 19, 2004

Mavenization

I originally was part of the Maven project when it started a few years ago. I found it was interesting at this time as I had been working for a lot of time to deploy a complete build system that was using Gump in my company. Incidentally I had other things to think about in my life, but I was also quickly drowning under the huge number of commits that was going through frenetically so I stepped off. About 2 years later it seems to get close to the 1.0 version, so I tried to install it as a pilot project. That was reasonably easy, but I'm amazed at the number of dependencies it requires (which is pretty interesting when for, some security reasons, the build machine you use is not connected to the internet). I also absolutely love the way it runs, or more exactly does not run without giving an error message (or when it does, a meaningful one).

I feel the development process is wrong in Maven and I can recognize well known patterns (been there, done that):

- The developpers spend a lot of time coding and maintaining plugins while the important thing is the core.
- There is way too much 'cool' technologies involved.
- You need to learn yet another language (Jelly) to extend your project.
- The POM is extremely verbose and you feel like attributes are not part of the XML specifications as absolutely everything is between elements.
- When it's failing, you have no chance to find out what's wrong.

It has been more than 2 years and I sometimes think it would have been more benefical to brainstorm more about a task dependency system. I think it failed to apply the KISS (Keep It Simple Stupid) system here and it ends up as a monster where people involved cannot really realize it.

 
Posted by stephane at February 19, 2004 10:37 PM
Comments