[
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)