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

Reply via email to