I think it won't break builds at all.
I think that people have lots of workarounds in their poms right now
to overcome this problem - specifying transitive dependencies directly,
which they don't directly use, but just to enforce that version being used. I've
done so myself quite a few times. Those builds will not fail since the
extra dependency will be redundant.

What could be a possible usecase where a build will break?

I agree with the fact that we need to test this thorougly.
Our integration tests are way too simplistic to test this so we definitely
need to test this against 'real life' complex builds.
The best way to do that I think is to apply it to 2.0.x and let people test it
on their builds for a while.
If it's breaking more than it fixes we can always roll back before the release.

-- Kenney

Brett Porter wrote:
-1, at this point. I'd like to look at some specific test cases to see how badly it might break a build - so I could be convinced.

No matter how bad the existing behaviour, it is consistent once in place. I think it's unacceptable to drop this into a .0.x release, no matter what the release notes say. Even if it makes it better for new builds, the people that have their current one mysteriously break will be rightly livid. I think we suffered this a little earlier when we enforced order when it wasn't deterministic - I think this would be more confusing than in that instance.

Our users must be able to trust point releases are safe upgrades. Let's start moving on putting out 2.1 milestone releases instead.

- Brett

On 16/03/2007, at 11:33 AM, Jason van Zyl wrote:

Hi,

After working with it a little this week I would like to propose to make MNG-1577 behavior introduced the default. Builds are completely and totally unpredictable without this behavior. The behavior in 2.0.5 is fundamentally broken. To are totally prey to any dependency introduced by a dependency which makes no sense and completely counter intuitive. I stabilized a massive build this week simply by using the behavior present in the 2.0.x branch. I don't think we're doing anyone any favors leaving the old behavior in. After watching a disaster be recovered by using this new behavior I feel that the patch should go in as is and become the default behavior. This puts the user in control which is the way it should be.

I propose we make this the default behavior. Can anyone think of a case where this degree of control would break an existing build?

This patch saved my bacon this week, I think this behavior makes a world of difference to users.

Jason.





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

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

Reply via email to