You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stefan Ocke (JIRA)" <ji...@apache.org> on 2016/07/16 11:25:20 UTC

[jira] [Updated] (MCOMPILER-272) When annotationProcessorPaths has multiple entries, only the transitive dependencies of the first entry are added

     [ https://issues.apache.org/jira/browse/MCOMPILER-272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Ocke updated MCOMPILER-272:
----------------------------------
    Description: 
I have multiple path elements in annotationProcessorPaths. The expected result is, that all of them together with their transitive dependencies are passed to javac as annotationprocessorpath parameter.
However, when running maven in debug mode, I can see, that only for the first path element, the transitive dependencies are passed to javac.

I have no easy example to reproduce yet, but I did some debugging:

In http://svn.apache.org/viewvc/maven/plugins/tags/maven-compiler-plugin-3.5.1/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java?view=markup#l1378  , the first artifact is set as the "main" artifact for the ArtifactResolutionRequest.  After some more debugging into DefaultArtifactReslover, it seem to me, that only for this root artifact, the transitive dependencies are resolved. The other artifacts are just added without their dependencies.
See also here: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.maven/maven-compat/3.3.3/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java#442

  was:
I have multiple path elements in annotationProcessorPaths. The expected result is, that all of them together with their transitive dependencies are passed to javac as annotationprocessorpath parameter.
However, when running maven in debug mode, I can see, that only for the first path element, the transitive dependencies are passed to javac.

I have no easy example to reproduce yet, but I did some debugging:

In http://svn.apache.org/viewvc/maven/plugins/tags/maven-compiler-plugin-3.5.1/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java?view=markup#l1378  , the first artifact is set as the "main" artifact for the ArtifactResolutionRequest.  After some mor debugging into DefaultArtifactReslover, it seem to me, that only for this root artifact, the transitive dependencies are resolved. The other artifacts are just added without their dependencies.
See also here: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.maven/maven-compat/3.3.3/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java#442


> When annotationProcessorPaths has multiple entries, only the transitive dependencies of the first entry are added
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: MCOMPILER-272
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-272
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.5.1
>            Reporter: Stefan Ocke
>
> I have multiple path elements in annotationProcessorPaths. The expected result is, that all of them together with their transitive dependencies are passed to javac as annotationprocessorpath parameter.
> However, when running maven in debug mode, I can see, that only for the first path element, the transitive dependencies are passed to javac.
> I have no easy example to reproduce yet, but I did some debugging:
> In http://svn.apache.org/viewvc/maven/plugins/tags/maven-compiler-plugin-3.5.1/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java?view=markup#l1378  , the first artifact is set as the "main" artifact for the ArtifactResolutionRequest.  After some more debugging into DefaultArtifactReslover, it seem to me, that only for this root artifact, the transitive dependencies are resolved. The other artifacts are just added without their dependencies.
> See also here: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.maven/maven-compat/3.3.3/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java#442



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)