I can show you visually whats happening and it's not so much a bug (which I 
think I explained to you when you showed me the slides initially) but the 
current design.

On May 19, 2013, at 11:05 AM, Jason van Zyl <[email protected]> wrote:

> You have the POMs handy you made the slides from?
> 
> On May 17, 2013, at 11:42 AM, Geoffrey De Smet <[email protected]> 
> wrote:
> 
>> I've always believed this is a bug, not a feature. I am still hoping to 
>> convince Jason etc of that.
>> 
>> I talked about this last year already at Devoxx 2012 in my session "Maven 
>> dependency puzzlers".
>> I had several reactions that "this must be a bug".
>> 
>> Just look at 3 slides, and tell me maven 3.0.4 does the sane thing:
>> The setup (click right to go the next slide)
>> http://ge0ffrey.github.io/maven-dependency-puzzlers/maven-dependency-puzzlers-presentation/src/main/presentation/index.html#34.0
>> How maven 3.0.4 resolved it:
>> http://ge0ffrey.github.io/maven-dependency-puzzlers/maven-dependency-puzzlers-presentation/src/main/presentation/index.html#35.0
>> And what this means for users:
>> http://ge0ffrey.github.io/maven-dependency-puzzlers/maven-dependency-puzzlers-presentation/src/main/presentation/index.html#36.0
>> 
>> Look at that last slide and tell me this is not a bug.
>> 
>> wkr,
>> Geoffrey
>> 
>> On 09-04-13 13:38, Arnaud Héritier wrote:
>>> Yes when I analyzed the behavior, seeing it was here for long long time I
>>> understood that it was probably done by design.
>>> I had a look at our doc (
>>> http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Management)
>>> and we should probably detail more this behavior which is local to the
>>> currently built project (At least to be sure to be able to say RTFM).
>>> I'm not the only one to have supposed the wrong behavior which in users
>>> mind is more a bug than a feature
>>> 
>>> 
>>> On Tue, Apr 9, 2013 at 12:59 PM, Jason van Zyl <[email protected]> wrote:
>>> 
>>>> This is how is was designed to work. Aether can do anything but the
>>>> original implementation is simply a map of GAs with a version preference.
>>>> If the GA is encountered then its version is overridden. This effectively
>>>> gives you a target platform like mechanism but is intended to be controlled
>>>> from the final application. Maven does not consider depMan at every level
>>>> in the tree. It's a global map controlled from your project and its
>>>> functionality is very limited in scope. You would need to do some
>>>> relatively sophisticated conflict resolution to have every sub graph and
>>>> its managed dependencies be reconciled with every other. Not that it can
>>>> not be done but this certainly not how dependency management is implemented
>>>> currently. This is not a bug, this is how the feature is implemented.
>>>> 
>>>> On 2013-04-08, at 8:28 AM, Arnaud Héritier <[email protected]> wrote:
>>>> 
>>>>> Hi all (and especially Herve, Jason and those who are working on Aether),
>>>>> 
>>>>> We are several to hit what we consider to be a bug but myself I don't
>>>>> understand how we did to not see it before.
>>>>> To be short the problem resides in depMgt usage. It is useful only in the
>>>>> project you are building to enforce/lock some versions. If this is in a
>>>>> transitive path of a dep it is unused.
>>>>> For example here is a sample :
>>>>> http://parleys.com/#play/515ef261e4b0cb5a00d98074/chapter34/about
>>>>> The code to test :
>>>> https://github.com/ndeloof/maven-puzzler/tree/master/3
>>>>> As far as we don't define the version in the depMgt of the project itself
>>>>> Maven will use the one from dependencies and won't take care of any other
>>>>> depMgt in the transitive path
>>>>> 
>>>>> Vincent Massol also reproduced it at code level here :
>>>>> http://jira.codehaus.org/browse/MNG-5462
>>>>> 
>>>>> If someone could have a look at this issue please.
>>>>> 
>>>>> --
>>>>> -----
>>>>> Arnaud Héritier
>>>>> http://aheritier.net
>>>>> Mail/GTalk: aheritier AT gmail DOT com
>>>>> Twitter/Skype : aheritier
>>>> ---------------------------------------------------------------------
>>>> 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]
>> 
> 
> Thanks,
> 
> Jason
> 
> ----------------------------------------------------------
> Jason van Zyl
> Founder & CTO, Sonatype
> Founder,  Apache Maven
> http://twitter.com/jvanzyl
> ---------------------------------------------------------
> 
> Simplex sigillum veri. (Simplicity is the seal of truth.)
> 
> 
> 
> 
> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder & CTO, Sonatype
Founder,  Apache Maven
http://twitter.com/jvanzyl
---------------------------------------------------------

The modern conservative is engaged in one of man's oldest exercises in moral 
philosophy; that is, 
the search for a superior moral justification for selfishness.

 -- John Kenneth Galbraith





Reply via email to