On 16 Mar 07, at 4:02 PM 16 Mar 07, Carlos Sanchez wrote:

On 3/16/07, Brian E. Fox <[EMAIL PROTECTED]> wrote:


>i don't follow you here, the problem is when 2.0.5 builds get some
version
>"by default" (they don't override it). Those builds would get another
version in 2.0.6

I think it simply boils down to what Patrick  wrote:

"For existing projects in which the workaround was not used, then I
would question two things:

- Does the project work as expected?
- Do they really care what version of D gets pulled in?

If they are not using the work around, it seems to me that the answer to
at least one of these would have to be 'No'.  And in this case, it
doesn't seem like altering the behavior matters much anyway."


one of the points of maven is to worry less about the build, so if i
get the dependency i need why should i care to add it explicitly?

For any numbers of reasons that you might know of for selecting one version over another. A binary incompatibility, a feature you want, because you like odd numbered releases, it doesn't matter what the reason is, the point is that it is done in practice. When someone selects that version, it should be honored in the scope of the project you are building.

they
may not care about the version until they upgrade to 2.0.6 and it
breaks

It will not break if you have explicitly set a version in a child module. Look at the code.


it's not a matter on how it should work, I agree that the patch is
good, but not for changing behavior between 2.0.x releases.

We will do as Mike suggested and build something for people to use. I see no effective change in behavior except in the case where someone is relying on something they expect but are getting something different. Without the patch if there is no parity between building on a leaf and from the top-level. Depending on where you build you might get different versions. That's fundamentally wrong and a total crap shoot. If that was explained to users I guarantee they wouldn't take the crap shoot.


Just think how are you going to handle questions from users, I feel
more natural ask for "are you using 2.0 or 2.1" than "2.0.5 or 2.0.6
or ..."

That's not the question to be asking. The question posed to a user would be "looking at the depMan section, where the version of X is set to 1.0, what version would you expect to be used in a child module?" Invariably the answer will be "the one I selected", not, "the one maven thinks it should give me."

If we applied this patch a year ago when at 2.0.3, would we have jumped to 2.1? No. When we have fixed the behavior of scopes or anything else regarding dependency resolution which certainly could break peoples' builds did we jump to a new version range? No. People have probably been bitten in those cases because 1) We don't have a spec, and 2) Hardly anything is documented. This change will help a lot more people then it may harm, and the people it dings will have revealed for them inconsistencies that would probably do them more harm.

Jason.




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




--
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
                            -- The Princess Bride

---------------------------------------------------------------------
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