maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@apache.org>
Subject Re: [RANT] This Maven thing is killing us....
Date Tue, 04 Jul 2006 14:28:33 GMT
Jesse Kuhnert wrote:
> Please, let's not go overboard....Ant is nice like c is nice when you need
> to get small things done. If you have to maintain very large projects with
> varying releases/users/etc maven is a much better choice. Even with its
> current flaws. =p

I'm not arguing with that, its the transitive dependency thing I'm 
commenting on.

when you write a project, your goal is to get it compile, to create 
whatever artifacts you create. If you include too many things in your 
dependency list (like commons-logging instead of commons-logging-api), 
your stuff still build happily, it just has excessive dependencies, as 
now it thinks logkit comes in. The people consuming your jar either 
propagate the problem, or have to do stuff like :

       <dependency groupID="commons-lang"
           artifactID="commons-lang"
           version="${commons-lang.version}">
         <exclusion
             groupId="junit"
             artifactId="junit"/>
       </dependency>
       <dependency groupID="commons-logging"
           artifactID="commons-logging"
           version="${commons-logging.version}">
         <exclusion
             groupId="junit"
             artifactId="junit"/>
         <exclusion
             groupId="logkit"
             artifactId="logkit"/>
         <exclusion
             groupId="avalon-framework"
             artifactId="avalon-framework"/>
       </dependency>

That's the issue. With transitive dependencies, you inherit any error 
made by anything you depend on. And while you can upgrade versions at 
the touch of a file, you have to recheck the dependencies whenver you 
upgrade, or junk creeps in.

Now, I think its really nice to know what something was built with; its 
a wonderful hint as to what you should be using, but its nothing more. A 
hint. Something to be looked at, and, in the case of the example above, 
then pretty much discarded.

-Steve

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Mime
View raw message