1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
<?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.
*
* ========================================================================
-->
<!--
Customized version of maven annnouncement plugin style sheet to create
release notes for commons-dbcp. 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
* Add blank lines between issues and otherwise clean up formatting
-->
<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 DBCP Version ${version}
RELEASE NOTES
</j:whitespace>
<j:useBean var="formatter" class="org.apache.maven.announcement.Formatter"/>
<j:set var="header" trim="true" 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 DBCP, 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">
Additions:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
<j:whitespace trim="false">
</j:whitespace>
</j:forEach>
</j:if>
<x:set var="actions" select="action[@type='fix']" sort="@type" />
<j:if test="${!empty(actions)}">
<j:whitespace trim="false">
Bug fixes:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
<j:whitespace trim="false">
</j:whitespace>
</j:forEach>
</j:if>
<x:set var="actions" select="action[@type='update']" sort="@type" />
<j:if test="${!empty(actions)}">
<j:whitespace trim="false">
Enhancements:
</j:whitespace>
<j:forEach var="action" items="${actions}">
<x:set var="item" select="."/><jsl:applyTemplates select="$action"/>
<j:whitespace trim="false">
</j:whitespace>
</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>
<j:whitespace trim="false">
Known Issues (significant open issues at time of release):
* Multiple issues (DBCP-3, DBCP-5, DBCP-23, DBCP-34, DBCP-61, DBCP-134,
DBCP-148, DBCP-180) related to DBCP connection closing semantics. Fixing
these issues could break existing clients, so they have been deferred to
a major release.
* DBCP-44. Evictor thread in GenericObjectPool has potential for deadlock.
The GenericObjectPool Evictor thread can potentially cause a deadlock between
its connection factory and java.sql.DriverManager. The deadlock occurs when
the Evictor thread is trying to make enough connections to bring the pool's
idle connections up to what's specified in minIdle, at the same time a
connection is being requested through DriverManager.getConnection(). The
suggested workaround is to either set minIdle to 0 when using the
PoolingDriver or access connections directly from the pool if minIdle is
set to a positive number. See the bug report for details.
* DBCP-191. DBCP does not compile under JDK 1.6 / JDBC 4.0. Fixing this would
break backward compatibility.
For a full list of open DBCP issues see
http://jakarta.apache.org/commons/dbcp/issue-tracking.html
</j:whitespace>
<!-- 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">
<j:if test="${issue != ''}"><j:whitespace>${issue}.</j:whitespace></j:if>
${body}
<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">
* ${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>
|