3.5.1, 3.6.0, 3.6.1, 3.6.2, 3.7.0, 3.8.0
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 processorpath 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. For the other path elements they are missing.
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 root artifact for the ArtifactResolutionRequest. The other artifacts are just added as "artifactDependencies".
After some more debugging into DefaultArtifactResolver, it seem to me, that only for the 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
- links to