Author: vsiveton
Date: Wed Aug 13 14:56:33 2008
New Revision: 685691

URL: http://svn.apache.org/viewvc?rev=685691&view=rev
Log:
MJAVADOC-212: AggregatorJavadocReport/AggregatorTestJavadocReport are used by 
default in aggregator and no reports are generated
Submitted by: Benjamin Bentmann
Reviewed by: Vincent Siveton

o patch applied with a small modification: handle aggregate parameter in 
isAggregator()
o need to update the documentation, will do later

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/AggregatorJavadocReport.java
    
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java
    
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.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=685691&r1=685690&r2=685691&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
 Wed Aug 13 14:56:33 2008
@@ -1310,6 +1310,19 @@
     // ----------------------------------------------------------------------
 
     /**
+     * Indicates whether this goal is flagged with <code>@aggregator</code> or 
the value of the <code>aggregate</code>
+     * parameter.
+     *
+     * @return <code>true</code> if the goal is designed as an aggregator, 
<code>false</code> otherwise.
+     * @see AggregatorJavadocReport
+     * @see AggregatorTestJavadocReport
+     */
+    protected boolean isAggregator()
+    {
+        return aggregate;
+    }
+
+    /**
      * @return the output directory
      */
     protected String getOutputDirectory()
@@ -1441,7 +1454,7 @@
             return;
         }
 
-        if ( aggregate && !project.isExecutionRoot() )
+        if ( isAggregator() && !project.isExecutionRoot() )
         {
             return;
         }
@@ -1641,7 +1654,7 @@
                 }
             }
 
-            if ( aggregate && project.isExecutionRoot() )
+            if ( isAggregator() && project.isExecutionRoot() )
             {
                 for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
                 {
@@ -1822,7 +1835,7 @@
 
         populateCompileArtifactMap( compileArtifactMap, getProjectArtifacts( 
project ) );
 
-        if ( aggregate && project.isExecutionRoot() )
+        if ( isAggregator() && project.isExecutionRoot() )
         {
             try
             {
@@ -2880,7 +2893,7 @@
         List offlineLinksList =
             ( offlineLinks != null ? new ArrayList( Arrays.asList( 
offlineLinks ) ) : new ArrayList() );
 
-        if ( !aggregate && reactorProjects != null )
+        if ( !isAggregator() && reactorProjects != null )
         {
             String javadocDirRelative = PathUtils.toRelative( 
project.getBasedir(), getOutputDirectory() );
 
@@ -3116,7 +3129,7 @@
             JavadocUtil.copyJavadocResources( anOutputDirectory, 
getJavadocDirectory(), excludedocfilessubdir );
         }
 
-        if ( aggregate && project.isExecutionRoot() )
+        if ( isAggregator() && project.isExecutionRoot() )
         {
             for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
             {

Modified: 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java?rev=685691&r1=685690&r2=685691&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java
 (original)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java
 Wed Aug 13 14:56:33 2008
@@ -19,16 +19,9 @@
  * under the License.
  */
 
-import java.util.Locale;
-
-import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.doxia.sink.Sink;
-
 /**
  * Generates documentation for the <code>Java code</code> in an 
<b>aggregator</b> project using the standard
  * <a href="http://java.sun.com/j2se/javadoc/";>Javadoc Tool</a>.
- * <br/>
- * <b>Note</b>: the <code>aggregate</code> parameter is always set to 
<code>true</code>.
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Siveton</a>
  * @version $Id$
@@ -40,12 +33,8 @@
     extends JavadocReport
 {
     /** [EMAIL PROTECTED] */
-    public void generate( Sink sink, Locale locale )
-        throws MavenReportException
+    protected boolean isAggregator()
     {
-        // operate always in aggregation mode
-        aggregate = true;
-
-        super.generate( sink, locale );
+        return true;
     }
 }

Modified: 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java?rev=685691&r1=685690&r2=685691&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java
 (original)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java
 Wed Aug 13 14:56:33 2008
@@ -19,16 +19,9 @@
  * under the License.
  */
 
-import java.util.Locale;
-
-import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.doxia.sink.Sink;
-
 /**
  * Generates documentation for the <code>Java Test code</code> in an 
<b>aggregator</b> project using the standard
  * <a href="http://java.sun.com/j2se/javadoc/";>Javadoc Tool</a>.
- * <br/>
- * <b>Note</b>: the <code>aggregate</code> parameter is always set to 
<code>true</code>.
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Siveton</a>
  * @version $Id$
@@ -40,12 +33,8 @@
     extends TestJavadocReport
 {
     /** [EMAIL PROTECTED] */
-    public void generate( Sink sink, Locale locale )
-        throws MavenReportException
+    protected boolean isAggregator()
     {
-        // operate always in aggregation mode
-        aggregate = true;
-
-        super.generate( sink, locale );
+        return true;
     }
 }

Modified: 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java?rev=685691&r1=685690&r2=685691&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
 (original)
+++ 
maven/plugins/trunk/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
 Wed Aug 13 14:56:33 2008
@@ -138,7 +138,11 @@
     public boolean canGenerateReport()
     {
         boolean canGenerate;
-        if ( aggregate && !project.isExecutionRoot() )
+        if ( aggregate != isAggregator() )
+        {
+            canGenerate = false;
+        }
+        else if ( isAggregator() && !project.isExecutionRoot() )
         {
             canGenerate = false;
         }


Reply via email to