You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ev...@apache.org on 2005/05/07 15:42:43 UTC

svn commit: r169079 - /maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle /maven/components/trunk/sandbox/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd /maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo

Author: evenisse
Date: Sat May  7 06:42:42 2005
New Revision: 169079

URL: http://svn.apache.org/viewcvs?rev=169079&view=rev
Log:
Update to new reporting-api

Modified:
    maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
    maven/components/trunk/sandbox/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportMojo.java
    maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java

Modified: maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java?rev=169079&r1=169078&r2=169079&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java (original)
+++ maven/components/trunk/sandbox/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java Sat May  7 06:42:42 2005
@@ -29,13 +29,10 @@
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
-import java.io.FileWriter;
 import java.io.InputStream;
 import java.io.IOException;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * @goal checkstyle

Modified: maven/components/trunk/sandbox/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportMojo.java?rev=169079&r1=169078&r2=169079&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportMojo.java (original)
+++ maven/components/trunk/sandbox/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportMojo.java Sat May  7 06:42:42 2005
@@ -22,11 +22,17 @@
 import org.apache.maven.reporting.MavenReport;
 import org.apache.maven.reporting.MavenReportConfiguration;
 import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.doxia.module.xhtml.XhtmlSink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringInputStream;
+import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
-import java.io.FileWriter;
-import java.util.HashSet;
-import java.util.Set;
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @goal pmd
@@ -39,12 +45,36 @@
     extends AbstractMojo
 {
     /**
-     * @parameter alias="workingDirectory" expression="${project.build.directory}/site-generated"
+     * @parameter expression="${basedir}"
+     * @required
+     */
+    private String basedir;
+
+    /**
+     * @parameter expression="${basedir}/src/site"
+     * @required
+     */
+    private String siteDirectory;
+
+    /**
+     * @parameter expression="${project.build.directory}/site"
      * @required
      */
     private String outputDirectory;
 
     /**
+     * @parameter alias="flavor"
+     */
+    private String flavour = "maven";
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private  SiteRenderer siteRenderer;
+
+    /**
      * @parameter expression="${project}"
      * @required
      * @readonly
@@ -66,11 +96,61 @@
 
         try
         {
-            report.generate();
+            XhtmlSink sink = siteRenderer.createSink( new File( siteDirectory ), siteDirectory,
+                                                      report.getOutputName() + ".html",
+                                                      outputDirectory, getSiteDescriptor(), flavour );
+
+            report.generate( sink );
+
+            siteRenderer.copyResources( siteDirectory, outputDirectory, flavour );
         }
-        catch ( MavenReportException e )
+        catch ( Exception e )
         {
             throw new MojoExecutionException( "An error is occurred in the PMD report generation.", e );
         }
+    }
+
+    private String getReportsMenu()
+    {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append( "<menu name=\"Project Documentation\">\n" );
+        buffer.append( "    <item name=\"About " + project.getName() + "\" href=\"/index.html\"/>\n");
+        buffer.append( "    <item name=\"Project reports\" href=\"/maven-reports.html\" collapse=\"true\">\n" );
+
+        buffer.append( "        <item name=\"PMD report\" href=\"/pmd.html\"/>\n" );
+
+        buffer.append( "    </item>\n" );
+        buffer.append( "</menu>\n" );
+        return buffer.toString();
+    }
+
+    private InputStream getSiteDescriptor()
+        throws MojoExecutionException
+    {
+        File siteDescriptor = new File( siteDirectory, "site.xml" );
+
+        if ( !siteDescriptor.exists() )
+        {
+            throw new MojoExecutionException( "The site descriptor is not present!" );
+        }
+
+        String siteDescriptorContent = "";
+
+        try
+        {
+            siteDescriptorContent = FileUtils.fileRead( siteDescriptor );
+        }
+        catch( IOException e )
+        {
+            throw new MojoExecutionException( "The site descriptor cannot be read!", e );
+        }
+
+        Map props = new HashMap();
+
+        props.put( "reports", getReportsMenu() );
+
+        siteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, props );
+
+        return new StringInputStream( siteDescriptorContent );
     }
 }

Modified: maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java?rev=169079&r1=169078&r2=169079&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java (original)
+++ maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java Sat May  7 06:42:42 2005
@@ -22,8 +22,17 @@
 import org.apache.maven.reporting.MavenReport;
 import org.apache.maven.reporting.MavenReportConfiguration;
 import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.doxia.module.xhtml.XhtmlSink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringInputStream;
+import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @goal generate
@@ -36,12 +45,36 @@
     extends AbstractMojo
 {
     /**
-     * @parameter alias="workingDirectory" expression="${project.build.directory}/site-generated"
+     * @parameter expression="${basedir}"
+     * @required
+     */
+    private String basedir;
+
+    /**
+     * @parameter expression="${basedir}/src/site"
+     * @required
+     */
+    private String siteDirectory;
+
+    /**
+     * @parameter expression="${project.build.directory}/site"
      * @required
      */
     private String outputDirectory;
 
     /**
+     * @parameter alias="flavor"
+     */
+    private String flavour = "maven";
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private  SiteRenderer siteRenderer;
+
+    /**
      * @parameter expression="${project}"
      * @required
      * @readonly
@@ -67,13 +100,68 @@
 
         try
         {
-            dependenciesReport.generate();
+            XhtmlSink sink = siteRenderer.createSink( new File( siteDirectory ), siteDirectory,
+                                                      dependenciesReport.getOutputName() + ".html",
+                                                      outputDirectory, getSiteDescriptor(), flavour );
+
+            dependenciesReport.generate( sink );
+
+            sink = siteRenderer.createSink( new File( siteDirectory ), siteDirectory,
+                                            mailingListsReport.getOutputName() + ".html",
+                                            outputDirectory, getSiteDescriptor(), flavour );
+
+            mailingListsReport.generate( sink );
 
-            mailingListsReport.generate();
+            siteRenderer.copyResources( siteDirectory, outputDirectory, flavour );
         }
-        catch ( MavenReportException e )
+        catch ( Exception e )
         {
             throw new MojoExecutionException( "An error is occurred in the report generation.", e );
         }
+    }
+
+    private String getReportsMenu()
+    {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append( "<menu name=\"Project Documentation\">\n" );
+        buffer.append( "    <item name=\"About " + project.getName() + "\" href=\"/index.html\"/>\n");
+        buffer.append( "    <item name=\"Project reports\" href=\"/maven-reports.html\" collapse=\"true\">\n" );
+
+        buffer.append( "        <item name=\"Dependencies\" href=\"/dependencies.html\"/>\n" );
+        buffer.append( "        <item name=\"Mailing list\" href=\"/mail-list.html\"/>\n" );
+
+        buffer.append( "    </item>\n" );
+        buffer.append( "</menu>\n" );
+        return buffer.toString();
+    }
+
+    private InputStream getSiteDescriptor()
+        throws MojoExecutionException
+    {
+        File siteDescriptor = new File( siteDirectory, "site.xml" );
+
+        if ( !siteDescriptor.exists() )
+        {
+            throw new MojoExecutionException( "The site descriptor is not present!" );
+        }
+
+        String siteDescriptorContent = "";
+
+        try
+        {
+            siteDescriptorContent = FileUtils.fileRead( siteDescriptor );
+        }
+        catch( IOException e )
+        {
+            throw new MojoExecutionException( "The site descriptor cannot be read!", e );
+        }
+
+        Map props = new HashMap();
+
+        props.put( "reports", getReportsMenu() );
+
+        siteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, props );
+
+        return new StringInputStream( siteDescriptorContent );
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org