[Design of JBoss Build System] - To be Mavenized or not to be Mavenized
by richard.opalka@jboss.com
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?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4141238#4141238
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4141238
18 years
[Design of JBoss Build System] - Re: Maven Version ranges - The version format
by heiko.braun@jboss.com
Another useful pick from "BetterBuildsWithMaven":
anonymous wrote :
| With regard to ordering, the elements are considered in sequence to determine which is newer - first
| by major version, second - if the major versions were equal - by minor version, third by bug fix version,
| fourth by qualifier (using string comparison), and finally, by build number. A version that contains a
| qualifier is older than a version without a qualifier; for example, 1.2-beta is older than version 1.2. A
| version that also contains a build number is considered newer than a version without a build number;
| for example, 1.2-beta-1 is newer than 1.2-beta. In some cases, the versions will not match this syntax.
| In those cases, the two versions are compared entirely as strings.
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4141200#4141200
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4141200
18 years