Issue Details (XML | Word | Printable)

Key: MJAVADOC-198
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vincent Siveton
Reporter: Detelin Yordanov
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Maven 2.x Javadoc Plugin

AbstractJavadocMojo#getClasspath(..) should use subProject's managedVersionMap

Created: 17/Jul/08 03:44 AM   Updated: 17/Jul/08 06:44 AM   Resolved: 17/Jul/08 06:44 AM
Return to search
Component/s: None
Affects Version/s: 2.4
Fix Version/s: 2.5

Time Tracking:
Not Specified

File Attachments: 1. Text File AbstractJavadocMojo.patch (1 kB)


Patch Submitted: Yes


 Description  « Hide

Hi,
We had a problem using Eclipse artifacts that contain version qualifiers, e.g. artifact foo version 3.3.0-SomeQualifier is not resolved
when the dependency version definition uses a version range e.g.:
<dependency>
<artifactId>foo<artifactId>
<version>[3.3.0,4.0.0)</version>
<groupId>some Group...</groupId>
<dependency>

We found a workaround for this described here: http://jira.codehaus.org/browse/MECLIPSE-405.
The workaround is to use maven 2.0.9+ and define concrete versions for the eclipse artifacts in a <dependencyManagement> section of our project, thus overriding the range version definitions in some of the eclipse poms.

e.g.:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.equinox</groupId>
<artifactId>common</artifactId>
<version>3.3.0-v20070426</version>
</dependency>
....
</dependencies>
<dependencyManagement>

This helped us to build our project without getting version range issues, however when we ran javadoc:javadoc we found out that
the javadoc dependency resolution does not take into account the <dependencyManagement> section and we still get
the error:

An error has occurred in JavaDocs report generation: Couldn't find a version in [3.2.0-v20060603, 3.3.0-v20070426] to match range [3.3.0,4.0.0)
org.eclipse.equinox:common:jar:null

When we examined the getClasspath(..) method of AbstractJavadocMojo we found out that it uses the ArtifactResolver#resolveTransitively(..)
method that lacks the "managedVersions" Map parameter.
We made an according patch to use the method that specifies it, and our problem was solved.

So the question is whether the usage of the #resolveTransitively(..) that lacks "managedVersions" parameter is intentional or not.
If there is no problem with it, we would be very happy if you could change this, so that we can successfully use the javadoc plugin in our project.

Kind Regards,
Detelin



Vincent Siveton added a comment - 17/Jul/08 06:44 AM

Patch applied in r677561, snapshot deployed


Vincent Siveton made changes - 17/Jul/08 06:44 AM
Field Original Value New Value
Assignee Vincent Siveton [ siveton ]
Resolution Fixed [ 1 ]
Fix Version/s 2.5 [ 14120 ]
Status Open [ 1 ] Closed [ 6 ]