Eric Redmond said:
> On 2/28/06, Ralph Goers <[EMAIL PROTECTED]> wrote:
>>
>>
>> If this is truly the way it works than it certainly can't be claimed
>> that Maven supports transitive dependencies as they will almost always
>> have to be bypassed. For example, if project A includes myfaces 1.1.1 it
>> has dependencies on beanutils 1.7.0 and digester 1.7.0.  What is
>> interesting is that digester 1.7.0 specifies a dependency of beanutils
>> 1.6.0.  Now presumably, myfaces specification will override digesters.
>> But now, what if project A also specifies digester 1.7.0 as a
>> dependency?  You will end up with both beanutils 1.6.0 and beanutils
>> 1.7.0 in your build target, which is completely unacceptable.  The
>> solution is for us to scour the pom's we are using and then look at
>> their dependencies, etc.?  I don't thnik so.  Instead, everyone will be
>> forced to declare all their dependencies in the parent pom.
>
>
> If that's your problem, you're going to have that issue anyway, no matter
> what build system you are using. Maven manages builds, its not a magic
> project-hierarchy fixer. In any case, for an extention which DOES do what
> you are asking, check out pomstrap:
>
> http://pomstrap.tigris.org/
>
> Eric
>

Thanks, Eric.  That project looks interesting and possibly simpler than OSGi.

Versioning is definitely one of the sore spots in Java.  However, we
aren't looking for Maven to be a "magic project-hierarchy fixer".  I think
that simply having the behavior of the jar override feature of Maven 1
combined with transitive dependencies in Maven 2 would be enough.  It is
simply a matter of where the control lies in choosing versions.  We
believe it needs to be at a global (i.e. corporate wide) scope.  Changes
to versions of third party jars always start with our lowest level
framework compoents and percolate their way up.

As I said, Maven could even emit Warnings when it detects that the version
specified in dependencyManagement is less than the version in the actual
dependency.  This simply provides a way for our Configuration Management
folks to know that every in-house project was built and tested with the
exact same components along the way before they were combined into the
delievered product, which is also using those versions.

Frankly, I just don't understand why there is reluctance to provide a
feature that folks were happy with in Maven 1.

Ralph


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

Reply via email to