Author: sebb
Date: Thu Sep 15 10:00:16 2011
New Revision: 1171027
URL: http://svn.apache.org/viewvc?rev=1171027&view=rev
Log:
Add release-notes profile and VM template
Make a start on changes.xml
Added:
commons/proper/commons-parent/trunk/src/changes/
commons/proper/commons-parent/trunk/src/changes/changes.xml (with props)
commons/proper/commons-parent/trunk/src/changes/release-notes.vm (with props)
Modified:
commons/proper/commons-parent/trunk/pom.xml
Modified: commons/proper/commons-parent/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk/pom.xml?rev=1171027&r1=1171026&r2=1171027&view=diff
==============================================================================
--- commons/proper/commons-parent/trunk/pom.xml (original)
+++ commons/proper/commons-parent/trunk/pom.xml Thu Sep 15 10:00:16 2011
@@ -31,6 +31,7 @@
<version>22-SNAPSHOT</version>
<name>Commons Parent</name>
<url>http://commons.apache.org/</url>
+ <description>The Apache Commons Parent Pom provides common settings for all Apache
Commons components.</description>
<ciManagement>
<system>continuum</system>
@@ -926,6 +927,46 @@
</build>
</profile>
+ <profile>
+ <!--
+ Generate release notes in top-level directory from src/changes/changes.xml
+ Usage:
+ mvn changes:announcement-generate -Prelease-notes
+
+ Requires file src/changes/release-notes.vm.
+ A sample template is available from:
+ https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm
+ -->
+ <id>release-notes</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-changes-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <template>release-notes.vm</template>
+ <templateDirectory>src/changes</templateDirectory>
+ <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+ <outputDirectory>.</outputDirectory>
+ <announcementFile>RELEASE-NOTES.txt</announcementFile>
+ <announceParameters>
+ <releaseVersion>${commons.release.version}</releaseVersion>
+ </announceParameters>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-release-notes</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>announcement-generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
<properties>
Added: commons/proper/commons-parent/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk/src/changes/changes.xml?rev=1171027&view=auto
==============================================================================
--- commons/proper/commons-parent/trunk/src/changes/changes.xml (added)
+++ commons/proper/commons-parent/trunk/src/changes/changes.xml Thu Sep 15 10:00:16 2011
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+-->
+<!--
+This file is also used by the maven-changes-plugin to generate the release notes.
+Useful ways of finding items to add to this file are:
+
+1. Add items when you fix a bug or add a feature (this makes the
+release process easy :-).
+
+2. Do a JIRA search for tickets closed since the previous release.
+
+3. Use the report generated by the maven-changelog-plugin to see all
+SVN commits. TBA how to use this with SVN.
+
+To generate the release notes from this file:
+
+mvn changes:announcement-generate
+then tweak the formatting if necessary
+and commit
+
+The <action> type attribute can be add,update,fix,remove.
+-->
+
+<document>
+ <properties>
+ <title>Changes</title>
+ <author email="dev@commons.apache.org">Apache Commons devlopers</author>
+ <intro>
+ Starting with version 22, the RAT plugin has changed Maven group and id, so any existing
configuration
+ needs to be updated.
+ To fix component POMs, please change any occurrences of:
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>rat-maven-plugin</artifactId>
+ to the new values:
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ </intro>
+ </properties>
+
+ <!-- NOTE:
+ The description below is specially formatted so as to improve the layout of the generated
release notes:
+ The parsing process removes all line feeds, replacing them with a single space.
+ The Velocity template in resources/templates has been enhanced to replace pairs of adjacent
spaces
+ with a new-line in the release notes. (These spaces are ignored when displaying HTML).
+ If the output is not quite correct, check for invisible trailing spaces!
+
+ N.B. The release notes template groups actions by type, and only extracts data for the
current release.
+ The changes report outputs actions in the order they appear in this file.
+ -->
+
+ <body>
+ <release version="22" date="TBA" description="
+Starting with version 22, the RAT plugin has changed Maven group and id,
+ so any existing configuration needs to be updated.
+ To fix component POMs, please change any occurrences of:
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>rat-maven-plugin</artifactId>
+ to the new values:
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+">
+ <action dev="sebb" type="update">
+ Add release-notes profile to generate RELEASE-NOTES.txt from changes.xml.
+ Added changes.xml and template release-notes.vm
+ </action>
+ <action dev="sebb" type="update">
+ Add pom description
+ </action>
+ </release>
+
+ </body>
+</document>
Propchange: commons/proper/commons-parent/trunk/src/changes/changes.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: commons/proper/commons-parent/trunk/src/changes/release-notes.vm
URL: http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk/src/changes/release-notes.vm?rev=1171027&view=auto
==============================================================================
--- commons/proper/commons-parent/trunk/src/changes/release-notes.vm (added)
+++ commons/proper/commons-parent/trunk/src/changes/release-notes.vm Thu Sep 15 10:00:16 2011
@@ -0,0 +1,140 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you 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.
+##
+ Apache ${project.name} ${version} RELEASE NOTES
+
+The ${developmentTeam} is pleased to announce the release of ${finalName}
+
+$introduction.replaceAll("(?<!\015)\012", "
+")
+
+## N.B. the available variables are described here:
+## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html
+##
+## Hack to improve layout: replace all pairs of spaces with a single new-line
+$release.description.replaceAll(" ", "
+")
+
+#if ($release.getActions().size() == 0)
+No changes defined in this version.
+#else
+Changes in this version include:
+
+## indent to be used if there is no issue attribute.
+## should be the same as the indent in the changes.xml file
+## less 2 spaces for the 'o' and trailing space
+#set($indent=' ')
+#if ($release.getActions('add').size() !=0)
+New features:
+#foreach($actionItem in $release.getActions('add'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto.
#end
+
+#set($issue="")
+#set($dueto="")
+#end
+#end
+##
+#if ($release.getActions('fix').size() !=0)
+Fixed Bugs:
+#foreach($actionItem in $release.getActions('fix'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto.
#end
+
+#set($issue="")
+#set($dueto="")
+#end
+#end
+##
+#if ($release.getActions('update').size() !=0)
+Changes:
+#foreach($actionItem in $release.getActions('update'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto.
#end
+
+#set($issue="")
+#set($dueto="")
+#end
+#end
+##
+#if ($release.getActions('remove').size() !=0)
+Removed:
+#foreach($actionItem in $release.getActions('remove'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != "")Thanks to $dueto.
#end
+
+#set($issue="")
+#set($dueto="")
+#end
+#end
+## End of main loop
+#end
+
+Historical list of changes: ${project.url}changes-report.html
+
+For complete information on ${project.name}, including instructions on how to submit bug
reports,
+patches, or suggestions for improvement, see the Apache ${project.name} website:
+
+${project.url}
\ No newline at end of file
Propchange: commons/proper/commons-parent/trunk/src/changes/release-notes.vm
------------------------------------------------------------------------------
svn:eol-style = native
|