Author: vsiveton
Date: Sat Feb 2 14:42:42 2008
New Revision: 617918
URL: http://svn.apache.org/viewvc?rev=617918&view=rev
Log:
MJAVADOC-172: classpath is wrong using aggregate mode
o used ArtifactVersion to compare version in populateCompileArtifactMap( Map
compileArtifactMap, List artifactList )
Modified:
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
Modified:
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=617918&r1=617917&r2=617918&view=diff
==============================================================================
---
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
(original)
+++
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
Sat Feb 2 14:42:42 2008
@@ -50,6 +50,8 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.javadoc.options.DocletArtifact;
import org.apache.maven.plugin.javadoc.options.Group;
@@ -1839,7 +1841,8 @@
{
String key = it.next().toString();
- sb.append( compileArtifactMap.get( key )
).append( '\n' );
+ Artifact a = (Artifact)
compileArtifactMap.get( key );
+ sb.append( a.getFile() ).append( '\n' );
}
getLog().debug( sb.toString() );
@@ -1858,7 +1861,13 @@
}
}
- classpathElements.addAll( compileArtifactMap.values() );
+ for ( Iterator it = compileArtifactMap.keySet().iterator();
it.hasNext(); )
+ {
+ String key = it.next().toString();
+
+ Artifact a = (Artifact) compileArtifactMap.get( key );
+ classpathElements.add( a.getFile() );
+ }
return StringUtils.join( classpathElements.iterator(),
File.pathSeparator );
}
@@ -1877,17 +1886,32 @@
{
for ( Iterator i = artifactList.iterator(); i.hasNext(); )
{
- Artifact a = (Artifact) i.next();
+ Artifact newArtifact = (Artifact) i.next();
- File file = a.getFile();
+ File file = newArtifact.getFile();
if ( file == null )
{
throw new MavenReportException( "Error in plugin
descriptor - "
- + "dependency was not resolved for artifact: " +
a.getGroupId() + ":" + a.getArtifactId() + ":"
- + a.getVersion() );
+ + "dependency was not resolved for artifact: " +
newArtifact.getGroupId() + ":"
+ + newArtifact.getArtifactId() + ":" +
newArtifact.getVersion() );
+ }
+
+ if ( compileArtifactMap.get(
newArtifact.getDependencyConflictId() ) != null )
+ {
+ Artifact oldArtifact = (Artifact) compileArtifactMap.get(
newArtifact.getDependencyConflictId() );
+
+ ArtifactVersion oldVersion = new DefaultArtifactVersion(
oldArtifact.getVersion() );
+ ArtifactVersion newVersion = new DefaultArtifactVersion(
newArtifact.getVersion() );
+ if ( newVersion.compareTo( oldVersion ) > 1 )
+ {
+ compileArtifactMap.put(
newArtifact.getDependencyConflictId(), newArtifact );
+ }
+ }
+ else
+ {
+ compileArtifactMap.put(
newArtifact.getDependencyConflictId(), newArtifact );
}
- compileArtifactMap.put( a.getDependencyConflictId(),
file.getAbsolutePath() );
}
}
}