Wouldn't this be better as part of the changes plugin? Or the release
plugin? The set of plugins for a release is getting more and more disperate
by the day :)

Cheers,
Brett

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Monday, 17 November 2003 9:49 AM
> To: [EMAIL PROTECTED]
> Subject: cvs commit: maven-plugins project.properties
> 
> 
> vmassol     2003/11/16 14:48:57
> 
>   Modified:    .        project.properties
>   Added:       announcement project.xml project.properties .cvsignore
>                         plugin.jelly plugin.properties
>                announcement/xdocs changes.xml .cvsignore 
> navigation.xml
>                         goals.xml index.xml properties.xml
>                announcement/src/plugin-resources announcement.jsl
>                announcement/src/main/org/apache/maven/announcement
>                         Formatter.java
>   Log:
>   New plugin. Automatically generate release notes.
>   
>   Revision  Changes    Path
>   1.1                  maven-plugins/announcement/project.xml
>   
>   Index: project.xml
>   ===================================================================
>   <?xml version="1.0" encoding="UTF-8"?>
>   
>   <project>
>     <extend>../project.xml</extend>
>     <pomVersion>3</pomVersion>
>     <id>maven-announcement-plugin</id>
>     <name>Maven Announcement plugin</name>
>     <currentVersion>1.0-SNAPSHOT</currentVersion>
>     <shortDescription>Produce release announcement</shortDescription>
>     <url>http://maven.apache.org/reference/plugins/announcement/</url>
>     <!-- TODO: Create JIRA project and replace xxxx by JIRA 
> project id -->
>     
> <issueTrackingUrl>http://jira.codehaus.org/BrowseProject.jspa?
> id=xxxx</issueTrackingUrl>
>     
> <siteDirectory>/www/maven.apache.org/reference/plugins/announc
> ement/</siteDirectory>
>     <repository>
>       
> <connection>scm:cvs:pserver:[EMAIL PROTECTED]:/home/cvspu
> blic:maven-plugins/announcement/</connection>
>       
> <url>http://cvs.apache.org/viewcvs/maven-plugins/announcement/</url>
>     </repository>
>     <developers>
>       <developer>
>         <name>Vincent Massol</name>
>         <id>vmassol</id>
>         <email>[EMAIL PROTECTED]</email>
>         <organization>Pivolis</organization>
>         <roles>
>           <role>Creator</role>
>           <role>Java Developer</role>
>         </roles>
>       </developer>
>     </developers>
>     <dependencies/>
>     <reports>
>       <report>maven-changes-plugin</report>
>       <report>maven-changelog-plugin</report>
>       <report>maven-file-activity-plugin</report>
>       <report>maven-developer-activity-plugin</report>
>       <report>maven-file-activity-plugin</report>
>       <report>maven-license-plugin</report>
>       <report>maven-linkcheck-plugin</report>
>     </reports>
>   </project>
>   
>   
>   
>   1.1                  maven-plugins/announcement/project.properties
>   
>   Index: project.properties
>   ===================================================================
>   # 
> -------------------------------------------------------------------
>   # P R O J E C T  P R O P E R T I E S
>   # 
> -------------------------------------------------------------------
>   maven.xdoc.date=left
>   maven.xdoc.version=${pom.currentVersion}
>   maven.license.licenseFile=${basedir}/../LICENSE.txt
>   
>   
>   
>   1.1                  maven-plugins/announcement/.cvsignore
>   
>   Index: .cvsignore
>   ===================================================================
>   target
>   velocity.log
>   maven.log
>   build.properties
>   .classpath
>   .project
>   
>   
>   
>   1.1                  maven-plugins/announcement/plugin.jelly
>   
>   Index: plugin.jelly
>   ===================================================================
>   <?xml version="1.0"?>
>   
>   <project
>     xmlns:j="jelly:core"
>     xmlns:x="jelly:xml"
>     xmlns:ant="jelly:ant"
>     xmlns:define="jelly:define"
>     xmlns:util="jelly:util"
>     xmlns:doc="doc">
>   
>     <goal name="announcement" prereqs="announcement:generate"
>       description="Generate release announcement"/>
>   
>     <goal name="announcement:generate"
>       description="Generate release announcement">
>   
>       <util:file var="inputFile" 
> name="${maven.docs.src}/changes.xml"/>
>       <x:parse var="doc" xml="${inputFile}"/>
>   
>       <j:set var="stylesheetURI" 
>           value="file:${plugin.resources}/announcement.jsl"/>
>       <j:file
>           name="${maven.build.dir}/announcement.txt"
>           outputMode="xml"
>           omitXmlDeclaration="true"
>           prettyPrint="false">
>         <j:include uri="${stylesheetURI.toString()}"/>
>       </j:file>
>   
>     </goal>
>   
>     <goal name="announcement:text" prereqs="announcement:generate"
>       description="Generate release announcement">
>   
>       <util:file var="inputFile" 
> name="${maven.docs.src}/changes.xml"/>
>       <x:parse var="doc" xml="${inputFile}"/>
>   
>       <j:set var="stylesheetURI" 
>           value="file:${plugin.resources}/announcement.jsl"/>
>       <j:file
>           name="${maven.build.dir}/announcement.xml"
>           outputMode="xml"
>           prettyPrint="false">
>         <j:include uri="${stylesheetURI.toString()}"/>
>       </j:file>
>   
>     </goal>
>   
>   </project>
>   
>   
>   
>   1.1                  maven-plugins/announcement/plugin.properties
>   
>   Index: plugin.properties
>   ===================================================================
>   # 
> -------------------------------------------------------------------
>   # Properties for the Announcement plugin
>   # 
> -------------------------------------------------------------------
>   
>   # Version for which to create a release note.
>   maven.announcement.version = ${pom.currentVersion}
>   
>   
>   
>   1.1                  maven-plugins/announcement/xdocs/changes.xml
>   
>   Index: changes.xml
>   ===================================================================
>   <?xml version="1.0"?>
>   <document>
>     <properties>
>       <title>Announcement plugin changes</title>
>       <author email="[EMAIL PROTECTED]">Vincent Massol</author>
>     </properties>
>   
>     <body>
>   
>       <release version="1.0" date="in CVS">
>         <action dev="vmassol" type="add">
>           Initial creation.
>         </action>              
>       </release>
>   
>     </body>
>   </document>
>   
>   
>   
>   
>   1.1                  maven-plugins/announcement/xdocs/.cvsignore
>   
>   Index: .cvsignore
>   ===================================================================
>   stylesheets
>   
>   
>   
>   1.1                  maven-plugins/announcement/xdocs/navigation.xml
>   
>   Index: navigation.xml
>   ===================================================================
>   <?xml version="1.0" encoding="ISO-8859-1"?>
>   <project name="Maven Announcement plugin">
>   
>     <title>Maven Announcement plugin</title>
>   
>     <body>
>       <links>
>         <item name="Maven"      href="http://maven.apache.org/"/>
>       </links>
>       <menu name="Overview">
>         <item name="Goals"      href="/goals.html" />
>         <item name="Properties" href="/properties.html" />
>       </menu>
>     </body>
>   </project>
>   
>   
>   
>   1.1                  maven-plugins/announcement/xdocs/goals.xml
>   
>   Index: goals.xml
>   ===================================================================
>   <?xml version="1.0"?>
>   <document>
>   
>     <properties>
>       <title>Maven Announcement plugin goals</title>
>       <author email="[EMAIL PROTECTED]">Vincent Massol</author>
>     </properties>
>   
>     <body>
>       <section name="Goals">
>         <table>
>           <tr><th>Goal</th><th>Description</th></tr>
>           <tr>
>             <td>announcement:text</td>
>             <td>
>               Generate text release announcement.
>             </td>
>           </tr>
>         </table>
>       </section>
>    </body>
>   </document>
>   
>   
>   
>   1.1                  maven-plugins/announcement/xdocs/index.xml
>   
>   Index: index.xml
>   ===================================================================
>   <?xml version="1.0"?>
>   <document>
>   
>     <properties>
>       <title>Maven Announcement plugin</title>
>       <author email="[EMAIL PROTECTED]">Vincent Massol</author>
>     </properties>
>   
>     <body>
>       <section name="Maven Announcement plugin">
>         <p>
>           Generates release announcements. It takes 
> information from the
>           POM and from the <code>changes.xml</code> file and 
> using a template 
>           generates release information.
>         </p>
>       </section>
>    </body>
>   </document>
>   
>   
>   
>   1.1                  maven-plugins/announcement/xdocs/properties.xml
>   
>   Index: properties.xml
>   ===================================================================
>   <?xml version="1.0" encoding="ISO-8859-1"?>
>   <document>
>   
>     <properties>
>       <title>Announcement plugin properties</title>
>       <author email="[EMAIL PROTECTED]">Vincent Massol</author>
>     </properties>
>   
>     <body>
>       <section name="Announcement plugin properties">
>         <table>
>           
> <tr><th>Property</th><th>Optional?</th><th>Description</th><th
> >Default</th></tr>
>           <tr>
>             <td>maven.announcement.version</td>
>             <td>Yes</td>
>             <td>
>               Version for which to create a release note.             
>             </td>
>             <td>
>               ${pom.currentVersion}
>             </td>
>           </tr>
>         </table>
>       </section>
>     </body>
>   </document>
>   
>   
>   
>   1.1                  
> maven-plugins/announcement/src/plugin-resources/announcement.jsl
>   
>   Index: announcement.jsl
>   ===================================================================
>   <?xml version="1.0"?>
>       
>   <jsl:stylesheet
>       select="$doc"
>       xmlns:j="jelly:core"
>       xmlns:jsl="jelly:jsl"
>       xmlns:x="jelly:xml"
>       xmlns="dummy" trim="true">
>   
>     <jsl:template match="document/body/release">
>   
>       <x:set var="version" select="string(@version)"/>
>       <j:set var="versionVariable" 
> value="${context.getVariable('maven.announcement.version')}"/>
>   
>       <j:if test="${versionVariable.equals(version)}">
>   
>         <j:useBean var="formatter" 
> class="org.apache.maven.announcement.Formatter"/>
>   
>         <j:set var="header" value="The Maven team is pleased 
> to announce the ${pom.name} ${versionVariable} release!"/>
>         <j:set var="formattedHeader" 
> value="${formatter.format(header,78)}"/>
>         <!-- TODO: Find out why brackets are added -->
>         <j:expr value="${formattedHeader}"/>
>   
>         <!-- TODO: Need line break here -->
>         
>         <j:expr value="${pom.url}"/>
>   
>         <!-- TODO: Need line break here -->
>   
>         <j:expr value="Changes in this version include (last 
> changes first):"/>
>   
>         <x:forEach var="action" select="action">
>           <x:set var="text" select="string($action)"/>
>           <j:expr value="o "/>
>           <j:forEach var="line" items="${formatter.format(text,75)}">
>             <!-- TODO: Need to add 3 spaces on second line 
> and thereafter -->
>             <j:expr value="${line}"/>
>           </j:forEach>
>         </x:forEach>
>   
>         <!-- TODO: Need line break here -->
>   
>         <j:expr value="This plugin has been tested with Maven 
> [TODO]. Using it with"/>
>         <j:expr value="another version of Maven is at your 
> own risks! :-)"/>
>   
>         <!-- TODO: Need line break here -->
>   
>         <j:expr value="You can download the ${pom.name} here:"/>
>         <j:expr 
> value="${maven.repo.remote}/${pom.groupId}/jars/${pom.artifact
> Id}-${versionVariable}.jar"/>
>   
>         <!-- TODO: Need line break here -->
>   
>         <j:expr value="Have fun!"/>
>         <j:expr value="-The development team"/>
>   
>       </j:if>
>   
>     </jsl:template>
>   
>     <jsl:template match="@*"/>
>   
>     <jsl:template match="text()"/>
>   
>   </jsl:stylesheet>
>   
>   
>   
>   1.1                  
> maven-plugins/announcement/src/main/org/apache/maven/announcem
> ent/Formatter.java
>   
>   Index: Formatter.java
>   ===================================================================
>   package org.apache.maven.announcement;
>   
>   /* 
> ====================================================================
>    * The Apache Software License, Version 1.1
>    *
>    * Copyright (c) 2001 The Apache Software Foundation.  All rights
>    * reserved.
>    *
>    * Redistribution and use in source and binary forms, with 
> or without
>    * modification, are permitted provided that the following 
> conditions
>    * are met:
>    *
>    * 1. Redistributions of source code must retain the above copyright
>    *    notice, this list of conditions and the following disclaimer.
>    *
>    * 2. Redistributions in binary form must reproduce the 
> above copyright
>    *    notice, this list of conditions and the following 
> disclaimer in
>    *    the documentation and/or other materials provided with the
>    *    distribution.
>    *
>    * 3. The end-user documentation included with the redistribution,
>    *    if any, must include the following acknowledgment:
>    *       "This product includes software developed by the
>    *        Apache Software Foundation (http://www.apache.org/)."
>    *    Alternately, this acknowledgment may appear in the 
> software itself,
>    *    if and wherever such third-party acknowledgments 
> normally appear.
>    *
>    * 4. The names "Apache" and "Apache Software Foundation" and
>    *    "Apache Maven" must not be used to endorse or promote products
>    *    derived from this software without prior written 
> permission. For
>    *    written permission, please contact [EMAIL PROTECTED]
>    *
>    * 5. Products derived from this software may not be called 
> "Apache",
>    *    "Apache Maven", nor may "Apache" appear in their name, without
>    *    prior written permission of the Apache Software Foundation.
>    *
>    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
> CAUSED AND
>    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
> LIABILITY,
>    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
> ANY WAY OUT
>    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
> POSSIBILITY OF
>    * SUCH DAMAGE.
>    * 
> ====================================================================
>    *
>    * This software consists of voluntary contributions made by many
>    * individuals on behalf of the Apache Software Foundation. 
>  For more
>    * information on the Apache Software Foundation, please see
>    * <http://www.apache.org/>.
>    *
>    * 
> ====================================================================
>    */
>   import java.util.ArrayList;
>   import java.util.List;
>   import java.util.StringTokenizer;
>   
>   /**
>    * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a>
>    *
>    * @version $Id: Formatter.java,v 1.1 2003/11/16 22:48:57 
> vmassol Exp $
>    */
>   public class Formatter
>   {
>       public static List format(String text, int column) 
>       {
>           StringTokenizer st = new StringTokenizer(text, " \t\r\n");
>           List strings = new ArrayList();
>           StringBuffer buffer = new StringBuffer();
>           while (st.hasMoreTokens())
>           {
>               String token = (String) st.nextToken();
>               if (buffer.length() + token.length() <= column)
>               {
>                   buffer.append(token);
>                   buffer.append(' ');
>               }
>               else
>               {
>                   buffer.append('\r');
>                   buffer.append('\n');
>                   strings.add(buffer.toString());
>                   buffer = new StringBuffer();
>                   buffer.append(token);
>                   buffer.append(' ');                
>               }
>           }
>           buffer.append('\r');
>           buffer.append('\n');
>           strings.add(buffer.toString());
>           return strings;
>       }
>   }
>   
>   
>   1.3       +4 -0      maven-plugins/project.properties
>   
>   Index: project.properties
>   ===================================================================
>   RCS file: /home/cvs/maven-plugins/project.properties,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- project.properties      5 Oct 2003 07:57:37 -0000       1.2
>   +++ project.properties      16 Nov 2003 22:48:57 -0000      1.3
>   @@ -5,6 +5,10 @@
>    # Enable HTML to xdoc transformation
>    maven.html2xdoc.enabled=true
>    
>   +# Choose aggregators to use for the dashboard plugin report
>   +maven.dashboard.aggregators = csall,clovertpc,cloverloc,cloverncloc
>   +maven.clover.report.xml=true
>   +
>    #------------------------------------------------------------------
>    # M U L T I P R O J E C T  -  A L L  P L U G I N G S
>    #------------------------------------------------------------------
>   
>   
>   
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

Reply via email to