[ https://jira.codehaus.org/browse/MJAVADOC-320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jakob Korherr updated MJAVADOC-320: ----------------------------------- Attachment: MJAVADOC-320-integration-test.patch integration test showing issues. > includeDependencySources does not handle external dependencies and filters > for reactor dependencies correctly > ------------------------------------------------------------------------------------------------------------- > > Key: MJAVADOC-320 > URL: https://jira.codehaus.org/browse/MJAVADOC-320 > Project: Maven 2.x Javadoc Plugin > Issue Type: Bug > Affects Versions: 2.8 > Reporter: Jakob Korherr > Attachments: MJAVADOC-320-integration-test.patch > > > Setting includeDependencySources=true should include the -sources artifacts > of the dependencies of the current project, filtered via > dependencySourceIncludes and/or dependencySourceExcludes, in the javadoc > generation. However, there are some major issues with the current > implementation: > 1) filters are ignored for reactor dependencies: Scenario: you have an > aggregator project consisting of 3 modules, the 3rd module has a dependency > to the first and second one, it has includeDependencySources set to true and > explicitly excluded the 2nd module from the javadoc sources via > dependencySourceExcludes. If you build the aggregator project, the 2nd module > will be included nevertheless (filter does not work), but if you build module > 3 only, it works as expected. > 2) external dependencies are not added to the javadoc generation: if you have > a project which has a dependency which is not part of the current project > (e.g. the servlet-api in MyFaces) and you explicitly include it for javadoc > generation via dependencySourceIncludes, it won't be included. The problem > here is the dependency resolution with a filter: The ArtifactResolver uses > the filter to check the whole dependency trail of an artifact (and not just > the artifact itself), thus the current project must also be included by the > filter or no dependencies of it will be resolved by the ArtifactResolver. > However, the current project is not a dependency of the current project, it > is the same and thus not explicitly included by dependencySourceIncludes. > This means the filter must be modified for dependency resolution to always > include the current project artifact. > 3) includeTransitiveDependencySources does not work as expected: The name of > this property implies that not only the current project's dependencies, but > also all transitive dependencies are added for javadoc generation. However, > currently this property is only passed on to the > PatternIncludesArtifactFilter and/or the PatternExcludesArtifactFilter, which > is wrong and actually breaks the include/exclude mechanism if it is set to > false (unfortunately the default value). > I will attach an integration test showing the issues described and a patch > solving this issue. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira