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/29 21:52:03 UTC

svn commit: r178980 - /maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia /maven/components/trunk/maven-reporting/maven-reporting-api /maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting /maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources /maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle /maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc /maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd /maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo

Author: evenisse
Date: Sun May 29 12:52:01 2005
New Revision: 178980

URL: http://svn.apache.org/viewcvs?rev=178980&view=rev
Log:
o Extends AbstractReport to AbstractMojo => we need now to create only one class for a report and a mojo
o Start implementation of internationalization

Added:
    maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources/
    maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources/default-report.xml
Removed:
    maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportMojo.java
    maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReportMojo.java
    maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportMojo.java
    maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java
Modified:
    maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
    maven/components/trunk/maven-reporting/maven-reporting-api/pom.xml
    maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenMultiPageReport.java
    maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java
    maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java
    maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
    maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
    maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
    maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
    maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java

Modified: maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/doxia/DoxiaMojo.java Sun May 29 12:52:01 2005
@@ -42,6 +42,7 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 /**
@@ -163,7 +164,8 @@
                     SiteRendererSink sink = siteRenderer.createSink( new File( siteDirectory ), outputFileName,
                                                                      getSiteDescriptor() );
 
-                    report.generate( sink );
+                    //TODO: Use multiple locale with a loop
+                    report.generate( sink, Locale.ENGLISH );
 
                     File outputFile = new File( outputDirectory, outputFileName );
 

Modified: maven/components/trunk/maven-reporting/maven-reporting-api/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/pom.xml?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/pom.xml (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/pom.xml Sun May 29 12:52:01 2005
@@ -17,14 +17,10 @@
       <artifactId>doxia-core</artifactId>
       <version>1.0-alpha-3-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0-SNAPSHOT</version>
+    </dependency>
   </dependencies>
-  <!-- build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plexus-plugin</artifactId>
-        <version>1.0-SNAPSHOT</version>
-      </plugin>
-    </plugins>
-  </build -->
 </project>

Modified: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenMultiPageReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenMultiPageReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenMultiPageReport.java (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenMultiPageReport.java Sun May 29 12:52:01 2005
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
+import org.apache.maven.reporting.sink.MultiPageSink;
+import org.apache.maven.reporting.sink.SinkFactory;
+import org.codehaus.doxia.sink.Sink;
+
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.maven.reporting.sink.MultiPageSink;
-import org.apache.maven.reporting.sink.SinkFactory;
-import org.codehaus.doxia.sink.Sink;
-
 /**
  * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id: MavenReport.java 163376 2005-02-23 00:06:06Z brett $
@@ -110,7 +110,7 @@
                 currentSink.paragraph();
                 for ( Iterator j = sinks.iterator(); i.hasNext(); )
                 {
-                    if (counter>1)
+                    if ( counter > 1 )
                     {
                         currentSink.text( "&nbsp;" );
                     }
@@ -118,7 +118,7 @@
                     sink.link( sink.getOutputName() + ".html" );
                     sink.text( String.valueOf( counter++ ) );
                     sink.link_();
-                    
+
                 }
                 currentSink.paragraph_();
                 currentSink.closeSink();

Modified: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java Sun May 29 12:52:01 2005
@@ -16,9 +16,22 @@
  * limitations under the License.
  */
 
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.doxia.module.xhtml.XhtmlSink;
 import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringInputStream;
+import org.codehaus.plexus.util.StringUtils;
 
+import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
 
 /**
  * The basis for a Maven report.
@@ -27,8 +40,28 @@
  * @version $Id: MavenReport.java 163376 2005-02-23 00:06:06Z brett $
  */
 public abstract class AbstractMavenReport
+    extends AbstractMojo
     implements MavenReport
 {
+    /** @todo share, use default excludes from plexus utils. */
+    protected static final String[] DEFAULT_EXCLUDES = {// Miscellaneous typical temporary files
+        "**/*~", "**/#*#", "**/.#*", "**/%*%", "**/._*",
+
+        // CVS
+        "**/CVS", "**/CVS/**", "**/.cvsignore",
+
+        // SCCS
+        "**/SCCS", "**/SCCS/**",
+
+        // Visual SourceSafe
+        "**/vssver.scc",
+
+        // Subversion
+        "**/.svn", "**/.svn/**",
+
+        // Mac
+        "**/.DS_Store"};
+
     private MavenReportConfiguration config;
 
     private Sink sink;
@@ -43,7 +76,44 @@
         this.config = config;
     }
 
-    public void generate( Sink sink )
+    protected abstract SiteRenderer getSiteRenderer();
+
+    protected abstract String getOutputDirectory();
+
+    protected abstract MavenProject getProject();
+
+    /**
+     * @see org.apache.maven.plugin.Mojo#execute()
+     */
+    public void execute()
+        throws MojoExecutionException
+    {
+        config = new MavenReportConfiguration();
+
+        config.setProject( getProject() );
+
+        config.setReportOutputDirectory( new File( getOutputDirectory() ) );
+
+        try
+        {
+            String outputDirectory = getOutputDirectory();
+
+            XhtmlSink sink = getSiteRenderer().createSink( new File( outputDirectory ), outputDirectory,
+                                                      getOutputName() + ".html",
+                                                      getSiteDescriptor(), "maven" );
+
+            generate( sink, Locale.ENGLISH );
+        }
+        catch ( Exception e )
+        {
+            throw new MojoExecutionException( "An error is occurred in " + getName() + " report generation." );
+        }
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#generate(org.codehaus.doxia.sink.Sink, java.util.Locale)
+     */
+    public void generate( Sink sink, Locale locale )
         throws MavenReportException
     {
         if ( config == null )
@@ -60,12 +130,12 @@
             this.sink = sink;
         }
 
-        execute();
+        executeReport( locale );
 
         closeReport();
     }
 
-    protected abstract void execute()
+    protected abstract void executeReport( Locale locale )
         throws MavenReportException;
 
     protected void closeReport()
@@ -82,4 +152,60 @@
     {
         return CATEGORY_PROJECT_REPORTS;
     }
-}
\ No newline at end of file
+
+    private String getReportsMenu()
+        throws MojoExecutionException
+    {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append( "<menu name=\"Project Documentation\">\n" );
+
+        buffer.append( "  <item name=\"" + getName() + "\" href=\"/" + getOutputName() + ".html\"/>\n" );
+
+        buffer.append( "</menu>\n" );
+
+        return buffer.toString();
+    }
+
+    private InputStream getSiteDescriptor()
+        throws MojoExecutionException
+    {
+        String siteDescriptorContent = "";
+
+        try
+        {
+            siteDescriptorContent = IOUtil.toString( getClass().getResourceAsStream( "/default-report.xml" ) );
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( "The site descriptor cannot be read!", e );
+        }
+
+        Map props = new HashMap();
+
+        props.put( "reports", getReportsMenu() );
+
+        // TODO: interpolate ${project.*} in general
+
+        if ( getProject().getName() != null )
+        {
+            props.put( "project.name", getProject().getName() );
+        }
+        else
+        {
+            props.put( "project.name", "NO_PROJECT_NAME_SET" );
+        }
+
+        if ( getProject().getUrl() != null )
+        {
+            props.put( "project.url", getProject().getUrl() );
+        }
+        else
+        {
+            props.put( "project.url", "NO_PROJECT_URL_SET" );
+        }
+
+        siteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, props );
+
+        return new StringInputStream( siteDescriptorContent );
+    }
+}

Modified: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java (original)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java Sun May 29 12:52:01 2005
@@ -19,6 +19,7 @@
 import org.codehaus.doxia.sink.Sink;
 
 import java.io.IOException;
+import java.util.Locale;
 
 /**
  * The basis for a Maven report.
@@ -39,7 +40,7 @@
 
     void setConfiguration( MavenReportConfiguration config );
 
-    void generate( Sink sink )
+    void generate( Sink sink, Locale locale )
         throws MavenReportException;
 
     String getOutputName();

Added: maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources/default-report.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources/default-report.xml?rev=178980&view=auto
==============================================================================
--- maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources/default-report.xml (added)
+++ maven/components/trunk/maven-reporting/maven-reporting-api/src/main/resources/default-report.xml Sun May 29 12:52:01 2005
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="${project.name}">
+  <body>
+    ${reports}
+  </body>
+</project>

Modified: maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java (original)
+++ maven/components/trunk/maven-reports/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java Sun May 29 12:52:01 2005
@@ -16,8 +16,10 @@
  * limitations under the License.
  */
 
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -38,32 +40,37 @@
 import java.net.URL;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Properties;
 
 /**
+ * @goal checkstyle
+ *
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id: DependenciesReport.java,v 1.2 2005/02/23 00:08:02 brett Exp $
  */
 public class CheckstyleReport
     extends AbstractMavenReport
 {
-    protected static final String[] DEFAULT_EXCLUDES = {// Miscellaneous typical temporary files
-        "**/*~", "**/#*#", "**/.#*", "**/%*%", "**/._*",
-
-        // CVS
-        "**/CVS", "**/CVS/**", "**/.cvsignore",
-
-        // SCCS
-        "**/SCCS", "**/SCCS/**",
-
-        // Visual SourceSafe
-        "**/vssver.scc",
-
-        // Subversion
-        "**/.svn", "**/.svn/**",
-
-        // Mac
-        "**/.DS_Store"};
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
 
     private URL configFile = getClass().getResource( "/config/sun_checks.xml" );
 
@@ -75,17 +82,50 @@
 
     private boolean failedOnError = false;
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName()
+     */
     public String getName()
     {
         return "Checkstyle";
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription()
+     */
     public String getDescription()
     {
         return "Report on coding style conventions.";
     }
 
-    public void execute()
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
+     */
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
+     */
+    public void executeReport( Locale locale )
         throws MavenReportException
     {
         // ----------------------------------------------------------------------
@@ -204,6 +244,9 @@
         }
     }
 
+    /* (non-Javadoc)
+     * @see org.apache.maven.reporting.MavenReport#getOutputName()
+     */
     public String getOutputName()
     {
         return "checkstyle";

Modified: maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java (original)
+++ maven/components/trunk/maven-reports/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java Sun May 29 12:52:01 2005
@@ -19,27 +19,91 @@
 import java.io.File;
 import java.util.Calendar;
 import java.util.Iterator;
+import java.util.Locale;
 
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.DefaultConsumer;
 
 /**
+ * @goal javadoc
+ *
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id: DependenciesReport.java,v 1.2 2005/02/23 00:08:02 brett Exp $
  */
 public class JavadocReport
     extends AbstractMavenReport
 {
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName()
+     */
+    public String getName()
+    {
+        return "JavaDocs";
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription()
+     */
+    public String getDescription()
+    {
+        return "JavaDoc API documentation.";
+    }
 
     /**
-     * @see org.apache.maven.reporting.AbstractMavenReport#generate(org.codehaus.doxia.sink.Sink)
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
      */
-    public void generate( Sink sink )
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#generate(org.codehaus.doxia.sink.Sink, java.util.Locale)
+     */
+    public void generate( Sink sink, Locale locale )
         throws MavenReportException
     {
         if ( getConfiguration() == null )
@@ -47,13 +111,13 @@
             throw new MavenReportException( "You must specify a report configuration." );
         }
 
-        execute();
+        executeReport( locale);
     }
 
     /**
-     * @see org.apache.maven.reporting.AbstractMavenReport#execute()
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
      */
-    protected void execute()
+    protected void executeReport( Locale locale )
         throws MavenReportException
     {
         try
@@ -143,22 +207,6 @@
         {
             throw new MavenReportException( "An error is occurred in javadoc report generation.", e );
         }
-    }
-
-    /**
-     * @see org.apache.maven.reporting.MavenReport#getDescription()
-     */
-    public String getDescription()
-    {
-        return "JavaDoc API documentation.";
-    }
-
-    /**
-     * @see org.apache.maven.reporting.MavenReport#getName()
-     */
-    public String getName()
-    {
-        return "JavaDocs";
     }
 
     /**

Modified: maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java (original)
+++ maven/components/trunk/maven-reports/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java Sun May 29 12:52:01 2005
@@ -22,9 +22,12 @@
 import net.sourceforge.pmd.RuleContext;
 import net.sourceforge.pmd.RuleSet;
 import net.sourceforge.pmd.RuleSetFactory;
+
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -36,10 +39,13 @@
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 
 /**
  * Implement the PMD report.
  *
+ * @goal pmd
+ *
  * @todo needs to support the multiple source roots
  * @author Brett Porter
  * @version $Id: PmdReport.java,v 1.3 2005/02/23 00:08:53 brett Exp $
@@ -47,36 +53,70 @@
 public class PmdReport
     extends AbstractMavenReport
 {
-    /** @todo share, use default excludes from plexus utils. */
-    protected static final String[] DEFAULT_EXCLUDES = {// Miscellaneous typical temporary files
-        "**/*~", "**/#*#", "**/.#*", "**/%*%", "**/._*",
-
-        // CVS
-        "**/CVS", "**/CVS/**", "**/.cvsignore",
-
-        // SCCS
-        "**/SCCS", "**/SCCS/**",
-
-        // Visual SourceSafe
-        "**/vssver.scc",
-
-        // Subversion
-        "**/.svn", "**/.svn/**",
-
-        // Mac
-        "**/.DS_Store"};
-
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName()
+     */
     public String getName()
     {
         return "PMD report";
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription()
+     */
     public String getDescription()
     {
         return "Verification of coding rules.";
     }
 
-    public void execute()
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
+     */
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
+     */
+    public void executeReport( Locale locale )
         throws MavenReportException
     {
         Sink sink = null;
@@ -158,6 +198,9 @@
         reportSink.endDocument();
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getOutputName()
+     */
     public String getOutputName()
     {
         return "pmd";

Modified: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java (original)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java Sun May 29 12:52:01 2005
@@ -18,15 +18,20 @@
 
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Model;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.Locale;
 
 /**
+ * @goal dependencies
+ *
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  * @version $Id: DependenciesReport.java,v 1.2 2005/02/23 00:08:02 brett Exp $
  * @plexus.component
@@ -34,22 +39,78 @@
 public class DependenciesReport
     extends AbstractMavenReport
 {
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName()
+     */
     public String getName()
     {
         return "Dependencies";
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getCategoryName()
+     */
     public String getCategoryName()
     {
         return CATEGORY_PROJECT_INFORMATION;
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription()
+     */
     public String getDescription()
     {
         return "This document lists the projects dependencies and provides information on each dependency.";
     }
 
-    public void execute()
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
+     */
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
+     */
+    public void executeReport( Locale locale )
         throws MavenReportException
     {
         try
@@ -64,6 +125,9 @@
         }
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getOutputName()
+     */
     public String getOutputName()
     {
         return "dependencies";

Modified: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java?rev=178980&r1=178979&r2=178980&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java (original)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java Sun May 29 12:52:01 2005
@@ -18,37 +18,97 @@
 
 import org.apache.maven.model.MailingList;
 import org.apache.maven.model.Model;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.apache.maven.reporting.AbstractMavenReport;
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.Locale;
 
 /**
+ * @goal mailing-list
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id: MailingListsReport.java,v 1.4 2005/02/23 00:08:03 brett Exp $
  */
 public class MailingListsReport
     extends AbstractMavenReport
 {
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName()
+     */
     public String getName()
     {
         return "Mailing Lists";
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getCategoryName()
+     */
     public String getCategoryName()
     {
         return CATEGORY_PROJECT_INFORMATION;
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription()
+     */
     public String getDescription()
     {
         return "This document provides subscription and archive information for this project's mailing lists.";
     }
 
-    public void execute()
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
+     */
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
+     */
+    public void executeReport( Locale locale )
         throws MavenReportException
     {
         try
@@ -63,6 +123,9 @@
         }
     }
 
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getOutputName()
+     */
     public String getOutputName()
     {
         return "mail-lists";



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