| <?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. |
| |
| 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> |