Kenney Westerhof wrote:

This somewhat describes the situation:
- depMgt for artifact X is used to provide defaults for direct dependencies of artifact X,
 and for overrides of transitive dependencies on X,
unless there's also a direct dependency on X in which case the direct dependency is used.


I'm sure this is not intended, so what should the intended behaviour be?
Actually, from the discussions that occurred while this was being developed what you are describing is exactly what was intended.

  1. Before the fix depMgt only provided defaults for direct artifacts
     and had no impact on transitive dependencies.
  2. The first version of my path overrode both direct and transitive
     dependencies. Objections were raised to it doing that so it was
     modified to its current behavior.
  3. This is OK because you have control over your depMgt and your
     direct dependencies. You can choose (or not) to specify versions
     in the dependencies. You have no such control over transitive
     dependencies.


Either we keep the 'child overrides' that's globally present in all of maven, so that dependencies can override depMgt, as is the case now, and also apply that to transitive deps,
This doesn't work. It was essentially how things worked in 2.0.6. You will never have a clue what you are going to get as you have no way to control what transitive dependencies bring in, except by artificially declaring them in projects that don't really need them.
OR we let depMgt override both local and transitive deps.
See above.

Or, is this the intended behaviour after all?
Yes

Ralph

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

Reply via email to