Author: vsiveton
Date: Wed May 23 06:14:40 2007
New Revision: 540945

URL: http://svn.apache.org/viewvc?view=rev&rev=540945
Log:
o added getProjectBuildOutputDirs() to better handle javadoc classpath
o added getExecutionProjectSourceRoots() to handle the source roots from the 
execution project

Modified:
    
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
    
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/TestJavadocReport.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?view=diff&rev=540945&r1=540944&r2=540945
==============================================================================
--- 
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
 Wed May 23 06:14:40 2007
@@ -30,6 +30,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -961,11 +962,12 @@
 
     /**
      * @param p a maven project
-     * @return the directory where compiled classes are placed for the given 
project.
+     * @return the list of directories where compiled classes are placed for 
the given project. These dirs are
+     * added in the javadoc classpath.
      */
-    protected String getProjectBuildOutputDir( MavenProject p )
+    protected List getProjectBuildOutputDirs( MavenProject p )
     {
-        return p.getBuild().getOutputDirectory();
+        return Collections.singletonList( p.getBuild().getOutputDirectory() );
     }
 
     /**
@@ -979,6 +981,15 @@
 
     /**
      * @param p a maven project
+     * @return the list of source paths for the execution project of the given 
project
+     */
+    protected List getExecutionProjectSourceRoots( MavenProject p )
+    {
+        return p.getExecutionProject().getCompileSourceRoots();
+    }
+
+    /**
+     * @param p a maven project
      * @return the list of artifacts for the given project
      */
     protected List getProjectArtifacts( MavenProject p )
@@ -1443,7 +1454,7 @@
 
             if ( project.getExecutionProject() != null )
             {
-                sourcePaths.addAll( getProjectSourceRoots( project ) );
+                sourcePaths.addAll( getExecutionProjectSourceRoots( project ) 
);
             }
 
             if ( getJavadocDirectory() != null )
@@ -1467,7 +1478,7 @@
 
                         if ( subProject.getExecutionProject() != null )
                         {
-                            sourceRoots.addAll( getProjectSourceRoots( 
subProject ) );
+                            sourceRoots.addAll( 
getExecutionProjectSourceRoots( subProject ) );
                         }
 
                         ArtifactHandler artifactHandler = 
subProject.getArtifact().getArtifactHandler();
@@ -1610,7 +1621,7 @@
         List classpathElements = new ArrayList();
         Map compileArtifactMap = new HashMap();
 
-        classpathElements.add( getProjectBuildOutputDir( project ) );
+        classpathElements.addAll( getProjectBuildOutputDirs( project ) );
 
         populateCompileArtifactMap( compileArtifactMap, getProjectArtifacts( 
project ) );
 
@@ -1623,7 +1634,8 @@
                     MavenProject subProject = (MavenProject) i.next();
                     if ( subProject != project )
                     {
-                        classpathElements.add( getProjectBuildOutputDir( 
subProject ) );
+                        classpathElements.addAll( getProjectBuildOutputDirs( 
subProject ) );
+
                         Set dependencyArtifacts = subProject.createArtifacts( 
factory, null, null );
                         if ( !dependencyArtifacts.isEmpty() )
                         {

Modified: 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/TestJavadocReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/TestJavadocReport.java?view=diff&rev=540945&r1=540944&r2=540945
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/TestJavadocReport.java
 (original)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/TestJavadocReport.java
 Wed May 23 06:14:40 2007
@@ -188,11 +188,15 @@
     // ----------------------------------------------------------------------
 
     /**
-     * @see 
org.apache.maven.plugin.javadoc.AbstractJavadocMojo#getProjectBuildOutputDir(org.apache.maven.project.MavenProject)
+     * @see 
org.apache.maven.plugin.javadoc.AbstractJavadocMojo#getProjectBuildOutputDirs(org.apache.maven.project.MavenProject)
      */
-    protected String getProjectBuildOutputDir( MavenProject p )
+    protected List getProjectBuildOutputDirs( MavenProject p )
     {
-        return p.getBuild().getTestOutputDirectory();
+        List dirs = new ArrayList();
+        dirs.add( p.getBuild().getOutputDirectory() );
+        dirs.add( p.getBuild().getTestOutputDirectory() );
+
+        return dirs;
     }
 
     /**
@@ -200,10 +204,15 @@
      */
     protected List getProjectSourceRoots( MavenProject p )
     {
-        List sourceRoots = new ArrayList( p.getCompileSourceRoots() );
-        sourceRoots.addAll( p.getTestCompileSourceRoots() );
+        return p.getTestCompileSourceRoots();
+    }
 
-        return sourceRoots;
+    /**
+     * @see 
org.apache.maven.plugin.javadoc.AbstractJavadocMojo#getExecutionProjectSourceRoots(org.apache.maven.project.MavenProject)
+     */
+    protected List getExecutionProjectSourceRoots( MavenProject p )
+    {
+        return p.getExecutionProject().getTestCompileSourceRoots();
     }
 
     /**


Reply via email to