I think having a transitive dependency repository is good. Of course,
you depend upon the community good willing but it is the same
principle for a wiki. Quality will increase if more and more people
participate. I think the Maven Evangelisation guide should be more
visible on the Maven web site because right now there aren't a lot of
people who know how to submit a correction.

On 7/4/06, Steve Loughran <[EMAIL PROTECTED]> wrote:
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to