You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2011/03/12 16:19:25 UTC

svn commit: r1080941 - /maven/plugins/branches/MSITE-560/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java

Author: hboutemy
Date: Sat Mar 12 15:19:24 2011
New Revision: 1080941

URL: http://svn.apache.org/viewvc?rev=1080941&view=rev
Log:
resolve MavenReportExecutor component only when used by Maven 3

Modified:
    maven/plugins/branches/MSITE-560/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java

Modified: maven/plugins/branches/MSITE-560/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MSITE-560/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java?rev=1080941&r1=1080940&r2=1080941&view=diff
==============================================================================
--- maven/plugins/branches/MSITE-560/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java (original)
+++ maven/plugins/branches/MSITE-560/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java Sat Mar 12 15:19:24 2011
@@ -38,6 +38,12 @@ import org.apache.maven.reporting.exec.M
 import org.apache.maven.reporting.exec.MavenReportExecutor;
 import org.apache.maven.reporting.exec.MavenReportExecutorRequest;
 import org.apache.maven.reporting.exec.ReportPlugin;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 
 import java.io.File;
 import java.io.IOException;
@@ -56,7 +62,7 @@ import java.util.Map;
  * @version $Id$
  */
 public abstract class AbstractSiteRenderingMojo
-    extends AbstractSiteMojo
+    extends AbstractSiteMojo implements Contextualizable
 {
     /**
      * Module type exclusion mappings
@@ -169,13 +175,13 @@ public abstract class AbstractSiteRender
      */
     private ReportPlugin[] reportPlugins;
 
-    /**
-     * The report executor (Maven 3).
-     * 
-     * @component
-     * @readonly
-     */
-    private MavenReportExecutor mavenReportExecutor;
+    private PlexusContainer container;
+    
+    public void contextualize( Context context )
+        throws ContextException
+    {
+        container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+    }
 
     protected List<MavenReportExecution> getReports()
         throws MojoExecutionException
@@ -188,6 +194,15 @@ public abstract class AbstractSiteRender
             mavenReportExecutorRequest.setProject( project );
             mavenReportExecutorRequest.setReportPlugins( reportPlugins );
 
+            MavenReportExecutor mavenReportExecutor;
+            try
+            {
+                mavenReportExecutor = container.lookup( MavenReportExecutor.class );
+            }
+            catch ( ComponentLookupException e )
+            {
+                throw new MojoExecutionException( "could not get MavenReportExecutor component", e );
+            }
             return mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
         }