[
https://issues.apache.org/jira/browse/MDEP-871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17764318#comment-17764318
]
Jared Stehler commented on MDEP-871:
------------------------------------
This seems to have been introduced with
[https://github.com/apache/maven-dependency-analyzer/pull/82]
The change is to read type references from the class constants pool.
but from what I can tell, this is working as designed? to me, an indirect usage
still counts.
> 3.6.0 reporting Used undeclared dependency that is only used indirectly
> ------------------------------------------------------------------------
>
> Key: MDEP-871
> URL: https://issues.apache.org/jira/browse/MDEP-871
> Project: Maven Dependency Plugin
> Issue Type: Bug
> Components: analyze
> Affects Versions: 3.6.0
> Reporter: Joe Barnett
> Priority: Major
>
> reproducer project:
> [https://github.com/josephlbarnett/mdep-3.6.0-analyze-reproducer]
> if you change the maven-dependency-plugin version to 3.5.0 in the above
> project, the maven build will pass.
>
> It appears that referencing an interface that extends another interface (and
> calling a method in that interface) is pulling that extended interface in as
> a used dependency? In this case the
> `software.amazon.awssdk.services.kms.KmsClientBuilder` interface extends an
> interface from the aws-core jar
> (`software.amazon.awssdk.awscore.client.builder.AwsClientBuilder`), and the
> example code calls the `.region()` method. In 3.5.0 the aws-core dependency
> was not treated as used, but in 3.6.0 it is. Unclear if this is only
> interface extension or classes implementing interfaces would have a similar
> problem?
>
> Is this intended behavior?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)