Vincent,

It isn't the best way. You must extends AbstractMavenReport.

Look at javadoc report and the getOutputName() method in it.

Emmanuel

[EMAIL PROTECTED] wrote:
Author: vmassol
Date: Tue Jul 26 02:48:04 2005
New Revision: 225267

URL: http://svn.apache.org/viewcvs?rev=225267&view=rev
Log:
Do not extend AbstractMavenReport as it does not support externally generated 
HTML report files (see MNG-645). Indeed, in our case it is Clover which 
generates the report files.

Modified:
    
maven/components/trunk/maven-plugins/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java

Modified: 
maven/components/trunk/maven-plugins/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java?rev=225267&r1=225266&r2=225267&view=diff
==============================================================================
--- 
maven/components/trunk/maven-plugins/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
 (original)
+++ 
maven/components/trunk/maven-plugins/maven-clover-plugin/src/main/java/org/apache/maven/plugin/clover/CloverReportMojo.java
 Tue Jul 26 02:48:04 2005
@@ -20,10 +20,16 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
+import org.apache.maven.reporting.MavenReport;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
 import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.module.xhtml.XhtmlSink;
import java.util.Locale;
 import java.util.ResourceBundle;
+import java.io.File;
/**
  * Generate a Clover report.
@@ -33,8 +39,7 @@
  * @goal report
  * @execute phase="test" lifecycle="clover"
  */
-public class CloverReportMojo
-    extends AbstractMavenReport
+public class CloverReportMojo extends AbstractMojo implements MavenReport
 {
     /**
      * @parameter expression="${project.build.directory}/clover/clover.db"
@@ -62,6 +67,8 @@
      */
     private MavenProject project;
+ private File reportOutputDirectory;
+
     /**
      * @see 
org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
      */
@@ -133,5 +140,61 @@
     public String getName( Locale locale )
     {
         return getBundle( locale ).getString( "report.clover.name" );
+    }
+
+    // The methods below are required because we don't extend 
AbstractMavenReport. The reason is that
+    // AbstractMavenReport does not support externally generated HTML report 
files.
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getReportOutputDirectory()
+     */
+    public File getReportOutputDirectory()
+    {
+        if ( this.reportOutputDirectory == null )
+        {
+            this.reportOutputDirectory = new File( getOutputDirectory() );
+        }
+        return this.reportOutputDirectory;
+    }
+
+    /**
+     * @see MavenReport#setReportOutputDirectory(java.io.File)
+     */
+    public void setReportOutputDirectory( File reportOutputDirectory )
+    {
+        this.reportOutputDirectory = reportOutputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getCategoryName()
+     */
+    public String getCategoryName()
+    {
+        return CATEGORY_PROJECT_REPORTS;
+    }
+
+    /**
+     * @see MavenReport#generate(org.codehaus.doxia.sink.Sink, 
java.util.Locale)
+     */
+    public void generate(Sink sink, Locale locale) throws MavenReportException
+    {
+        executeReport( locale );
+    }
+
+    /**
+     * @see org.apache.maven.plugin.Mojo#execute()
+     */
+    public void execute()
+        throws MojoExecutionException
+    {
+        try
+        {
+            generate( null, Locale.ENGLISH );
+        }
+        catch ( Exception e )
+        {
+            throw new MojoExecutionException( "An error has occurred in " + 
getName( Locale.ENGLISH )
+                + " report generation.", e );
+        }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to