blob: 9984fec2a3ca3db809598a55ca9e3948962e1620 [file] [log] [blame]
<?xml version="1.0"?>
<!--
* ========================================================================
*
* 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.
*
* ========================================================================
-->
<!--
Customized version of maven annnouncement plugin style sheet to create
release notes for commons-math. Customizations are:
* Add a title
* Display the description attribute in the release at the beginning
* Add a heading to the project description and move the URL to follow
* Get rid of "have fun" sig-like thingy
-->
<jsl:stylesheet
select="$doc"
xmlns:j="jelly:core"
xmlns:jsl="jelly:jsl"
xmlns:x="jelly:xml"
xmlns:u="jelly:util"
xmlns:maven="jelly:maven"
xmlns="dummy" trim="true">
<!-- This stylesheet expects the versionVariable to be defined before calling it -->
<jsl:template match="document/body/release">
<x:set var="version" select="string(@version)"/>
<x:set var="description" select="string(@description)"/>
<j:if test="${versionVariable.equals(version)}">
<j:whitespace trim="false">
Jakarta Commons Math Version ${version}
RELEASE NOTES
</j:whitespace>
<j:useBean var="formatter" class="org.apache.maven.announcement.Formatter"/>
<j:set var="header" trim="false" value="${description}"/>
<j:forEach var="line" items="${formatter.format(header,78)}">
<j:whitespace trim="false">${line}
</j:whitespace>
</j:forEach>
For more information on Jakarta Commons Math, see
${pom.url}
<j:whitespace trim="false">
Changes in this version include:</j:whitespace>
<x:set var="actions" select="action[@type='add']" sort="@type" />
<j:if test="${!empty(actions)}">
<j:whitespace trim="false">
New Features:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
</j:forEach>
</j:if>
<x:set var="actions" select="action[@type='fix']" sort="@type" />
<j:if test="${!empty(actions)}">
<j:whitespace trim="false">
Fixed bugs:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
</j:forEach>
</j:if>
<x:set var="actions" select="action[@type='update']" sort="@type" />
<j:if test="${!empty(actions)}">
<j:whitespace trim="false">
Changes:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
</j:forEach>
</j:if>
<x:set var="actions" select="action[@type='remove']" sort="@type" />
<j:if test="${!empty(actions)}">
<j:whitespace trim="false">
Removed features:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
</j:forEach>
</j:if>
<!-- Nasty hack to detect a plugin until pom.type exists -->
<u:available file="${basedir}/plugin.jelly">
<j:whitespace trim="false">
To automatically install the plugin, type the following on a single line:
maven plugin:download
-DgroupId=${pom.groupId}
-DartifactId=${pom.artifactId}
-Dversion=${versionVariable}
For a manual installation, you can download the plugin here:
${distributionUrl}/${pom.artifactId}-${versionVariable}.jar
</j:whitespace>
</u:available>
<j:whitespace trim="false">
</j:whitespace>
</j:if>
</jsl:template>
<jsl:template match="action" trim="true">
<x:set var="body" select="string(.)"/>
<j:set var="counter" value=""/>
<j:set var="issue"><x:expr select="@issue"/></j:set>
<j:set var="dueto"><x:expr select="@due-to"/></j:set>
<j:set var="text" trim="true">
${body}
<j:if test="${issue != ''}"><j:whitespace> Issue: ${issue}.</j:whitespace></j:if>
<j:if test="${dueto != ''}"><j:whitespace> Thanks to ${dueto}.</j:whitespace></j:if>
</j:set>
<j:forEach var="line" items="${formatter.format(text,75)}">
<j:choose>
<j:when test="${counter.length() == '0'}">
<j:whitespace trim="false">
o ${line}</j:whitespace>
</j:when>
<j:otherwise>
<j:whitespace trim="false">
${line}</j:whitespace>
</j:otherwise>
</j:choose>
<j:set var="counter" value="${counter}X"/>
</j:forEach>
</jsl:template>
<jsl:template match="@*"/>
<jsl:template match="text()"/>
</jsl:stylesheet>