[ 
https://issues.apache.org/jira/browse/MDEP-791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17494814#comment-17494814
 ] 

Elliotte Rusty Harold commented on MDEP-791:
--------------------------------------------

Thanks for the explanation. Based on that I agree there's a bug, but I do not 
yet agree that it is in the maven-dependency-plugin. The bug is that "adding 
<scope>test</scope> to jackson-core removes it from the transitive compile 
dependencies, making compile fail". 

This should not happen. Whatever part of Maven is doing this (the compiler 
plugin?) has a serious issue, and that is what we need to fix. Saying that the 
top-level project depends on an artifact with test scope does not imply 
anything about what transitive dependencies it may depend on in what scopes. 

> Non-test scoped and transitive dependencies in compile scope
> ------------------------------------------------------------
>
>                 Key: MDEP-791
>                 URL: https://issues.apache.org/jira/browse/MDEP-791
>             Project: Maven Dependency Plugin
>          Issue Type: Bug
>    Affects Versions: 3.2.0, 3.3.0
>            Reporter: Slawomir Jaranowski
>            Priority: Critical
>         Attachments: MDEP-791.zip
>
>
> When we use some dependency in test classes which is not used in production 
> code but is required as transitive dependency for other used in production 
> code - such dependency should not be included in {*}{{Non-test scoped}}{*}.
> Example:
>  * test code use {{ObjectCodec}} from {{jackson-core}}
>  * production code use only {{ObjectMapper}} from {{jackson-databind}}
>  * production code don't use any classes from {{jackson-core}}
> {{jackson-core}} is needed by {{jackson-databind}} and must by in compile 
> scope so should not be reported as {{Non-test scoped}}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to