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/05 02:17:50 UTC
svn commit: r168217 - in
/maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin:
pom.xml
src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java
src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java
src/main/resources/META-INF/plexus/components.xml
Author: evenisse
Date: Wed May 4 17:17:49 2005
New Revision: 168217
URL: http://svn.apache.org/viewcvs?rev=168217&view=rev
Log:
o Add Mailing List Report
o Add a simple report generator mojo for dependencies and mailing list
Added:
maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.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-project-info-reports-plugin/pom.xml
maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/resources/META-INF/plexus/components.xml
Modified: maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/pom.xml?rev=168217&r1=168216&r2=168217&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/pom.xml (original)
+++ maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/pom.xml Wed May 4 17:17:49 2005
@@ -13,6 +13,11 @@
<inceptionYear>2005</inceptionYear>
<dependencies>
<dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>1.0-alpha-2-SNAPSHOT</version>
Added: maven/components/trunk/sandbox/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/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java?rev=168217&view=auto
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java (added)
+++ maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java Wed May 4 17:17:49 2005
@@ -0,0 +1,106 @@
+package org.apache.maven.reports.projectinfo;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.model.MailingList;
+import org.apache.maven.model.Model;
+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 java.io.IOException;
+import java.util.Iterator;
+
+/**
+ * @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
+{
+ public void execute()
+ throws MavenReportException
+ {
+ try
+ {
+ MailingListsRenderer r = new MailingListsRenderer( getSink(), getConfiguration().getModel() );
+
+ r.render();
+ }
+ catch( IOException e )
+ {
+ throw new MavenReportException( "Can't write the report " + getOutputName(), e );
+ }
+ }
+
+ public String getOutputName()
+ {
+ return "mail-lists";
+ }
+
+ static class MailingListsRenderer
+ extends AbstractMavenReportRenderer
+ {
+ private Model model;
+
+ public MailingListsRenderer( Sink sink, Model model )
+ {
+ super( sink );
+
+ this.model = model;
+ }
+
+ // How to i18n these ...
+ public String getTitle()
+ {
+ return "Project Mailing Lists";
+ }
+
+ public void renderBody()
+ {
+ startSection( getTitle() );
+
+ if ( model.getMailingLists().isEmpty() )
+ {
+ // TODO: should the report just be excluded?
+ paragraph( "There are no mailing lists currently associated with this project." );
+ }
+ else
+ {
+ paragraph( "These are the mailing lists that have been established for this project. For each list, " +
+ "there is a subscribe, unsubscribe, and an archive link." );
+
+ startTable();
+
+ tableHeader( new String[]{"Name", "Subscribe", "Unsubscribe", "Archive"} );
+
+ for ( Iterator i = model.getMailingLists().iterator(); i.hasNext(); )
+ {
+ MailingList m = (MailingList) i.next();
+
+ // TODO: render otherArchives?
+ tableRow( new String[]{m.getName(), m.getSubscribe(), m.getUnsubscribe(), m.getArchive()} );
+ }
+
+ endTable();
+ }
+ endSection();
+ }
+
+ }
+}
Added: 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=168217&view=auto
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java (added)
+++ maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectReportsMojo.java Wed May 4 17:17:49 2005
@@ -0,0 +1,79 @@
+package org.apache.maven.reports.projectinfo;
+
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.reporting.MavenReport;
+import org.apache.maven.reporting.MavenReportConfiguration;
+import org.apache.maven.reporting.MavenReportException;
+
+import java.io.File;
+
+/**
+ * @goal generate
+ * @description A Maven2 plugin which generates the set of project reports
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id: ProjectReportsMojo.java,v 1.3 2005/02/23 00:08:03 brett Exp $
+ */
+public class ProjectReportsMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter alias="workingDirectory" expression="${project.build.directory}/site-generated"
+ * @required
+ */
+ private String outputDirectory;
+
+ /**
+ * @parameter expression="${project}"
+ * @required
+ * @readonly
+ */
+ private MavenProject project;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ MavenReportConfiguration config = new MavenReportConfiguration();
+
+ config.setModel( project.getModel() );
+
+ config.setOutputDirectory( new File( outputDirectory ) );
+
+ MavenReport dependenciesReport = new DependenciesReport();
+
+ dependenciesReport.setConfiguration( config );
+
+ MavenReport mailingListsReport = new MailingListsReport();
+
+ mailingListsReport.setConfiguration( config );
+
+ try
+ {
+ dependenciesReport.generate();
+
+ mailingListsReport.generate();
+ }
+ catch ( MavenReportException e )
+ {
+ throw new MojoExecutionException( "An error is occurred in the report generation.", e );
+ }
+ }
+}
Modified: maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/resources/META-INF/plexus/components.xml?rev=168217&r1=168216&r2=168217&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/sandbox/maven-reports/maven-project-info-reports-plugin/src/main/resources/META-INF/plexus/components.xml Wed May 4 17:17:49 2005
@@ -11,31 +11,11 @@
<implementation>org.apache.maven.reports.projectinfo.DependenciesReport</implementation>
<instantiation-strategy>per-lookup</instantiation-strategy>
</component>
+ <component>
+ <role>org.apache.maven.reporting.MavenReport</role>
+ <role-hint>mail-lists</role-hint>
+ <implementation>org.apache.maven.reports.projectinfo.MailingListsReport</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
</components>
- <dependencies>
- <dependency>
- <groupId>doxia</groupId>
- <artifactId>doxia-core</artifactId>
- <type>jar</type>
- <version>1.0-alpha-2-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.reporting</groupId>
- <artifactId>maven-reporting-api</artifactId>
- <type>jar</type>
- <version>2.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-model</artifactId>
- <type>jar</type>
- <version>2.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <type>jar</type>
- <version>2.0-SNAPSHOT</version>
- </dependency>
- </dependencies>
</component-set>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org