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

Dmitry Cherniachenko commented on MDEP-871:
-------------------------------------------

I ran into the same issue with {{javax.mail.util.ByteArrayDataSource}} from 
javamail:
{code}
[ERROR] Used undeclared dependencies found:
[ERROR]    com.sun.activation:jakarta.activation:jar:1.2.1:compile
[ERROR]       class javax.activation.DataSource
{code}

I tried to "manage" this transitive dependency scope to {{runtime}}:
{code}
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.sun.activation</groupId>
                <artifactId>jakarta.activation</artifactId>
                <version>1.2.1</version>
                <scope>runtime</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
{code}

But the plugin is still unhappy about it, despite the 
{{<ignoreNonCompile>true</ignoreNonCompile>}}:
{code}
[ERROR] Used undeclared dependencies found:
[ERROR]    com.sun.activation:jakarta.activation:jar:1.2.1:runtime
[ERROR]       class javax.activation.DataSource
{code}
(Is this maybe another issue? Changing dependency scope via 
{{<dependencyManagement>}} is ignored by the plugin?)

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

Reply via email to