Am 12/15/16 um 22:31 schrieb Robert Scholte: > On Thu, 15 Dec 2016 09:40:46 +0100, Christian Schulte <c...@schulte.it> > wrote: > >> Am 12/15/16 um 09:28 schrieb Robert Scholte: >>> I think I understand where the confusion is coming from. We must be >>> very clear about definitions. >>> Transitive means adding all indirect dependencies with the compile and >>> runtime dependencies. >>> So the transitive *scope* itself is not transitive, meaning all >>> indirect *test*-scoped are not added to the classpath. But IMO a >>> test-scoped *dependency* is transitive, all its compile and runtime >>> dependencies must be added to the classpath. >>> >> >> That's the way master behaves and it makes sense. What is different is >> when a transitive dependency is managed to something not transitive. >> That will disappear from the resolution result. I'd expect that to >> happen, BTW. > > Well, it is not what I would expect. Any dependency should look in the > dependencyManagement of its *parent* (this is also a tricky thing, don't > know all the details about the why) and copy the undefined elements from > the managed dependency to the direct dependency. I cannot think of any > reason why it should suddenly loose its transitive dependencies, because > it'll break compilations as we've already seen.
What you describe is what the model builder does. The resolver does a different thing. Think about the dependency management as a global override of everything. That's how the resolver works. That's my expectation of how dependency management should work as well. POM (I am authoring) - dependency management I want to be applied (versions, scopes, etc.) - dependencies I need myself The dependency management in my pom will be applied to all transitive dependencies overriding what the authors of the POMs of those dependencies had declared. That's what I expect from the dependency management as well. It's way more than just a way to not need to add versions in a multi-module project everywhere. Regards, -- Christian --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org