[
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