Author: vsiveton
Date: Sun Jun  3 04:30:59 2007
New Revision: 543882

URL: http://svn.apache.org/viewvc?view=rev&rev=543882
Log:
JXR-53: Add a link to test javadoc

o small refactoring to handle this

Modified:
    
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
    
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
    
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java

Modified: 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
URL: 
http://svn.apache.org/viewvc/maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java?view=diff&rev=543882&r1=543881&r2=543882
==============================================================================
--- 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
 (original)
+++ 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
 Sun Jun  3 04:30:59 2007
@@ -46,6 +46,7 @@
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Fabrice Bellingard</a>
  * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Siveton</a>
  */
 public abstract class AbstractJxrReport
     extends AbstractMavenReport
@@ -154,6 +155,14 @@
     protected boolean aggregate;
 
     /**
+     * Link the Javadoc from the Source XRef. Defaults to true and will link
+     * automatically if javadoc plugin is being used.
+     *
+     * @parameter expression="${linkJavadoc}" default-value="true"
+     */
+    private boolean linkJavadoc;
+
+    /**
      * Compiles the list of directories which contain source files that will 
be included in the JXR report generation.
      *
      * @param sourceDirs    the List of the source directories
@@ -465,6 +474,46 @@
     }
 
     /**
+     * @return a String that contains the loaction of the javadocs
+     */
+    private String getJavadocLocation()
+    {
+        String location = null;
+
+        if ( linkJavadoc )
+        {
+            // We don't need to do the whole translation thing like normal, 
because JXR does it internally.
+            // It probably shouldn't.
+            if ( getJavadocDir().exists() )
+            {
+                // XRef was already generated by manual execution of a 
lifecycle binding
+                location = getJavadocDir().getAbsolutePath();
+            }
+            else
+            {
+                // Not yet generated - check if the report is on its way
+                for ( Iterator reports = 
getProject().getReportPlugins().iterator(); reports.hasNext(); )
+                {
+                    ReportPlugin report = (ReportPlugin) reports.next();
+
+                    String artifactId = report.getArtifactId();
+                    if ( "maven-javadoc-plugin".equals( artifactId ) )
+                    {
+                        location = getJavadocDir().getAbsolutePath();
+                    }
+                }
+            }
+
+            if ( location == null )
+            {
+                getLog().warn( "Unable to locate Javadoc to link to - 
DISABLED" );
+            }
+        }
+
+        return location;
+    }
+
+    /**
      * Abstract method that returns the target directory where the generated 
JXR reports will be put.
      *
      * @return  a String that contains the target directory name
@@ -488,9 +537,9 @@
     protected abstract List getSourceRoots( MavenProject project );
 
     /**
-     * Abstract method that returns the location of the javadoc files.
+     * Abstract method that returns the directory of the javadoc files.
      *
-     * @return a String that contains the loaction of the javadocs
+     * @return a File for the directory of the javadocs
      */
-    protected abstract String getJavadocLocation();
+    protected abstract File getJavadocDir();
 }

Modified: 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
URL: 
http://svn.apache.org/viewvc/maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java?view=diff&rev=543882&r1=543881&r2=543882
==============================================================================
--- 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
 (original)
+++ 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java
 Sun Jun  3 04:30:59 2007
@@ -19,13 +19,11 @@
  * under the License.
  */
 
-import org.apache.maven.model.ReportPlugin;
 import org.apache.maven.project.MavenProject;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 
@@ -71,14 +69,6 @@
     private File javadocDir;
 
     /**
-     * Link the Javadoc from the Source XRef. Defaults to true and will link
-     * automatically if javadoc plugin is being used.
-     *
-     * @parameter expression="${linkJavadoc}" default-value="true"
-     */
-    private boolean linkJavadoc;
-
-    /**
      * @see 
org.apache.maven.plugin.jxr.AbstractJxrReport#getDestinationDirectory()
      */
     protected String getDestinationDirectory()
@@ -172,41 +162,11 @@
     }
 
     /**
-     * @see org.apache.maven.plugin.jxr.AbstractJxrReport#getJavadocLocation()
+     * @see org.apache.maven.plugin.jxr.AbstractJxrReport#getJavadocDir()
      */
-    protected String getJavadocLocation()
+    protected File getJavadocDir()
     {
-        String location = null;
-        if ( linkJavadoc )
-        {
-            // We don't need to do the whole translation thing like normal, 
because JXR does it internally.
-            // It probably shouldn't.
-            if ( javadocDir.exists() )
-            {
-                // XRef was already generated by manual execution of a 
lifecycle binding
-                location = javadocDir.getAbsolutePath();
-            }
-            else
-            {
-                // Not yet generated - check if the report is on its way
-                for ( Iterator reports = 
getProject().getReportPlugins().iterator(); reports.hasNext(); )
-                {
-                    ReportPlugin report = (ReportPlugin) reports.next();
-
-                    String artifactId = report.getArtifactId();
-                    if ( "maven-javadoc-plugin".equals( artifactId ) )
-                    {
-                        location = javadocDir.getAbsolutePath();
-                    }
-                }
-            }
-
-            if ( location == null )
-            {
-                getLog().warn( "Unable to locate Javadoc to link to - 
DISABLED" );
-            }
-        }
-        return location;
+        return javadocDir;
     }
 
     /**

Modified: 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
URL: 
http://svn.apache.org/viewvc/maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java?view=diff&rev=543882&r1=543881&r2=543882
==============================================================================
--- 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
 (original)
+++ 
maven/jxr/trunk/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
 Sun Jun  3 04:30:59 2007
@@ -54,6 +54,13 @@
     private String destDir;
 
     /**
+     * Folder where Test Javadoc is generated for this project.
+     *
+     * @parameter expression="${project.reporting.outputDirectory}/testapidocs"
+     */
+    private File testJavadocDir;
+
+    /**
      * @see org.apache.maven.plugin.jxr.AbstractJxrReport#getSourceRoots()
      */
     protected List getSourceRoots()
@@ -85,7 +92,7 @@
 
         if ( !"pom".equals( project.getPackaging().toLowerCase() ) )
         {
-            l.addAll( project.getExecutionProject().getCompileSourceRoots() );
+            l.addAll( 
project.getExecutionProject().getTestCompileSourceRoots() );
         }
 
         if ( project.getExecutionProject() != null )
@@ -138,12 +145,11 @@
     }
 
     /**
-     * @see org.apache.maven.plugin.jxr.AbstractJxrReport#getJavadocLocation()
+     * @see org.apache.maven.plugin.jxr.AbstractJxrReport#getJavadocDir()
      */
-    protected String getJavadocLocation()
+    protected File getJavadocDir()
     {
-        // Don't link Javadoc
-        return null;
+        return testJavadocDir;
     }
 
     /**


Reply via email to