1 Reply Latest reply on Apr 6, 2008 5:40 PM by Scott Stark

    To be Mavenized or not to be Mavenized

    Richard Opalka Master

      I'm really surprised such clever people like you JBoss AS developers are are still playing with Maven and still plan to use it in the future :(

      Yes, Maven is maybe good but for small or medium (less than 10 modules) projects (just my point of view). However if the project is bigger one (JBoss AS belongs to this set of projects) Maven becomes very useless. We will fight with problems like:

      * Ooops, where did we introduced this dependency? In which POM in the whole POM hierarchy was it?
      * Why this conflict wasn't detected by Maven? What did we wrong?
      * Is it our problem or Maven problem?
      * Why the AS doesn't build again? Who broke the build again?
      ...

      I won't enumerate all the troubles we will face in the future. I've used Maven for long time and once you don't have the full control over dependencies you can't just put it to some black box (Maven in our case) and rely on the fact it will do its job as expected :(
      There are many bugs in Maven dependencies handling mainly when you will start playing with dependency wildcards.

      Big projects like JBoss AS have to have the full control over the dependencies mechanism. If we were not satisfied with old dependencies resolution mechanism we should develop better one.

      What I'm trying to say?

      * Maven is good in theory but bad in practice (I mean for big software projects)
      * Maven has poor documentation. Mainly for the most critical parts of it like dependencies mechanism handling etc.
      * Maven is a black box. Black hall is a better term I would say. Yes there are some attempts from Adrian to make its dependencies handling mechanism a white box
      but shouldn't it be part of Maven exhausting documentation?
      * Maven isn't a build tool. Why we're using it for AS building purposes as well? I thought we're trying to get the most from its dependencies handling only?
      * If we will use Maven in the future we will need to put a big effort to educate new joiners to be Maven comfortable and don't break the things on their first touch to Maven POMs.
      * We will create the following forums in the future:
      - Maven Builds Issues Forum (40 % of all posts)
      - Maven Dependencies Issues Forum (30 % of all posts)
      - Maven Rewrite Forum (20 % of all posts)
      - Maven ... (5 % of all posts)
      - Rest Topics Forum (JBoss AS development, JBoss AS subprojects) (5 % of all posts)

      Do we really want to become Mavenized at all cost dear friends?