[ https://issues.apache.org/jira/browse/MDEP-594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylwester Lachiewicz closed MDEP-594. ------------------------------------- Resolution: Resolved > Dependency reported as "unused declared" when runtime-retention type > annotation is used > --------------------------------------------------------------------------------------- > > Key: MDEP-594 > URL: https://issues.apache.org/jira/browse/MDEP-594 > Project: Maven Dependency Plugin > Issue Type: Bug > Components: analyze > Affects Versions: 3.0.0 > Environment: Apache Maven 3.5.0, > Oracle Java version: 1.8.0_144 > Reporter: Andreas Hubold > Priority: Major > Fix For: 3.1.0 > > Attachments: example.tgz > > > In the attached example project, module "usage" uses annotation {{@Example}}: > {code} > public interface Usage { > @Example String getEmail(); > } > {code} > which is defined in module "annotation" as: > {code} > @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) > @Retention(RetentionPolicy.RUNTIME) > public @interface Example { > } > {code} > Consequently, the pom.xml of module "usage" defines a compile-dependency to > module "annotation" but the dependency:analyze-only goal incorrectly reports > this as unused dependency: > {noformat} > [main] [INFO] --- maven-dependency-plugin:3.0.0:analyze-only > (analyze-dependencies) @ usage --- > [main] [WARNING] Unused declared dependencies found: > [main] [WARNING] com.example:annotation:jar:1.0-SNAPSHOT:compile > {noformat} > This false positive is only reported if > * the annotation is meta-annotated with target TYPE_USE + TYPE_PARAMETER > * and the source.version/target.version of the compiler plugin for module > "usage" is 1.8 > There's no false positive if the {{@Target}} meta-annotation is removed or if > compiler's source/target version is set to 1.7. -- This message was sent by Atlassian JIRA (v7.6.3#76005)