Index: src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (revision 685235)
+++ src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (working copy)
@@ -1310,6 +1310,16 @@
// ----------------------------------------------------------------------
/**
+ * Indicates whether this goal is flagged with "@aggregator".
+ *
+ * @return true if the goal is designed as an aggregator, false otherwise.
+ */
+ protected boolean isAggregator()
+ {
+ return false;
+ }
+
+ /**
* @return the output directory
*/
protected String getOutputDirectory()
@@ -1441,7 +1451,7 @@
return;
}
- if ( aggregate && !project.isExecutionRoot() )
+ if ( isAggregator() && !project.isExecutionRoot() )
{
return;
}
@@ -1641,7 +1651,7 @@
}
}
- if ( aggregate && project.isExecutionRoot() )
+ if ( isAggregator() && project.isExecutionRoot() )
{
for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
@@ -1822,7 +1832,7 @@
populateCompileArtifactMap( compileArtifactMap, getProjectArtifacts( project ) );
- if ( aggregate && project.isExecutionRoot() )
+ if ( isAggregator() && project.isExecutionRoot() )
{
try
{
@@ -2880,7 +2890,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 +3126,7 @@
JavadocUtil.copyJavadocResources( anOutputDirectory, getJavadocDirectory(), excludedocfilessubdir );
}
- if ( aggregate && project.isExecutionRoot() )
+ if ( isAggregator() && project.isExecutionRoot() )
{
for ( Iterator i = reactorProjects.iterator(); i.hasNext(); )
{
Index: src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java
===================================================================
--- src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java (revision 685235)
+++ src/main/java/org/apache/maven/plugin/javadoc/AggregatorJavadocReport.java (working copy)
@@ -19,11 +19,6 @@
* under the License.
*/
-import java.util.Locale;
-
-import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.doxia.sink.Sink;
-
/**
* Generates documentation for the Java code in an aggregator project using the standard
* Javadoc Tool.
@@ -39,13 +34,11 @@
public class AggregatorJavadocReport
extends JavadocReport
{
+
/** {@inheritDoc} */
- 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;
}
+
}
Index: src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java
===================================================================
--- src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java (revision 685235)
+++ src/main/java/org/apache/maven/plugin/javadoc/AggregatorTestJavadocReport.java (working copy)
@@ -19,11 +19,6 @@
* under the License.
*/
-import java.util.Locale;
-
-import org.apache.maven.reporting.MavenReportException;
-import org.codehaus.doxia.sink.Sink;
-
/**
* Generates documentation for the Java Test code in an aggregator project using the standard
* Javadoc Tool.
@@ -39,13 +34,11 @@
public class AggregatorTestJavadocReport
extends TestJavadocReport
{
+
/** {@inheritDoc} */
- 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;
}
+
}
Index: src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java
===================================================================
--- src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java (revision 685235)
+++ src/main/java/org/apache/maven/plugin/javadoc/JavadocJar.java (working copy)
@@ -166,9 +166,6 @@
innerDestDir = new File( getOutputDirectory() );
}
- // The JAR does not operate in aggregation mode - individual Javadoc JARs are always distributed.
- aggregate = false;
-
ArtifactHandler artifactHandler = project.getArtifact().getArtifactHandler();
if ( !"java".equals( artifactHandler.getLanguage() ) )
{
Index: src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
===================================================================
--- src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java (revision 685235)
+++ src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java (working copy)
@@ -138,10 +138,14 @@
public boolean canGenerateReport()
{
boolean canGenerate;
- if ( aggregate && !project.isExecutionRoot() )
+ if ( aggregate != isAggregator() )
{
canGenerate = false;
}
+ else if ( isAggregator() && !project.isExecutionRoot() )
+ {
+ canGenerate = false;
+ }
else
{
List sourcePaths = getSourcePaths();