FAQ

[Ant-notifications] svn commit: r1045279 [3/12] - in /ant/core/branches/ANT_SITE: ./ docs/ docs/antlibs/ docs/antlibs/antunit/ docs/antlibs/compress/ docs/antlibs/dotnet/ docs/antlibs/props/ docs/antlibs/svn/ docs/manual/ docs/manual/CoreTasks/ docs/manual/CoreTypes/ docs...

Antoine
Dec 13, 2010 at 6:34 pm
Modified: ant/core/branches/ANT_SITE/docs/antnews.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antnews.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/antnews.html (original)
+++ ant/core/branches/ANT_SITE/docs/antnews.html Mon Dec 13 18:34:00 2010
@@ -21,7 +21,7 @@
<!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Apache Ant - News</title>
+ <title>Apache Ant - Apache Ant&#x2122; Project News</title>
<link type="text/css" href="./page.css" rel="stylesheet">
<meta name="author" content="Conor MacNeill">
<meta name="email" content="">
@@ -105,11 +105,11 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
- <span class="sel">News</span>
- </li>
+ <a href="./antnews.html">News</a>
+ </li>
</ul>
</li>
<li class="menuheader">Documentation
@@ -145,6 +145,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -161,6 +164,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -171,9 +177,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -203,15 +206,26 @@
<div class="lightbluebar">&nbsp;</div>
<div class="main">
<div class="content">
- <h1 class="title">News</h1>
+ <h1 class="title">Apache Ant&#x2122; Project News</h1>
<h3 class="section">
- <a name="Ant1.8.0"></a>
- Ant1.8.0
+ <a name="Apache Ant 1.8.1"></a>
+ Apache Ant 1.8.1
</h3>
- <h3>Februrary 8th, 2010 - Ant 1.8.0 Released</h3>
- <p>Apache Ant 1.8.0 is now available for download as source or binary (with and without
+ <h3>May 7th, 2010 - Apache Ant 1.8.1 Released</h3>
+ <p>Apache Ant 1.8.1 is now available for download as source or binary (with and without
dependencies) from
<a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.</p>
+ <p>Key features of the 1.8.1 release are</p>
+ <ul>
+ <li>new task augment allows to add attributes or nested elements to previously defined references</li>
+ <li>numerous bug fixes and improvements as documented in Bugzilla
+ and in WHATSNEW</li>
+ </ul>
+ <h3 class="section">
+ <a name="Apache Ant 1.8.0"></a>
+ Apache Ant 1.8.0
+ </h3>
+ <h3>Februrary 8th, 2010 - Apache Ant 1.8.0 Released</h3>
<p>Key features of the 1.8.0 release are</p>
<ul>
<li>Lexically scoped local properties, i.e. properties that are only defined inside a target,
@@ -249,8 +263,8 @@
and in WHATSNEW</li>
</ul>
<h3 class="section">
- <a name="Ivy 2.1.0"></a>
- Ivy 2.1.0
+ <a name="Apache Ivy 2.1.0"></a>
+ Apache Ivy 2.1.0
</h3>
<h3>October 8, 2009 - Apache Ivy 2.1.0 Released</h3>
<p>Apache Ivy 2.1.0 is now available for download as source or binary (with and without
@@ -268,8 +282,8 @@
<p>For more information see
the <a href="http://ant.apache.org/ivy/">Ivy home page</a>.</p>
<h3 class="section">
- <a name="IvyDE 2.0.0"></a>
- IvyDE 2.0.0
+ <a name="Apache IvyDE 2.0.0"></a>
+ Apache IvyDE 2.0.0
</h3>
<h3>July 13, 2009 - Apache IvyDE 2.0.0 Released</h3>
<p>Apache IvyDE 2.0.0 is now available for download from
@@ -291,8 +305,8 @@ have been reported to be working like a
<p>For more information see
the <a href="http://ant.apache.org/ivy/ivyde/">IvyDE home page</a>.</p>
<h3 class="section">
- <a name="Ivy 2.0.0"></a>
- Ivy 2.0.0
+ <a name="Apache Ivy 2.0.0"></a>
+ Apache Ivy 2.0.0
</h3>
<h3>January 20, 2009 - Apache Ivy 2.0.0 Released</h3>
<p>Apache Ivy 2.0.0 (final) is now available for download as source or binary (with and without
@@ -303,8 +317,8 @@ have been reported to be working like a
and numerous bug fixes and other improvements.</p>
<p>For more information see the <a href="http://ant.apache.org/ivy/">Ivy home page</a>.</p>
<h3 class="section">
- <a name="AntUnit 1.1"></a>
- AntUnit 1.1
+ <a name="Apache AntUnit 1.1"></a>
+ Apache AntUnit 1.1
</h3>
<h3>September 26, 2008 - Apache AntUnit 1.1 Released</h3>
<p>Apache AntUnit 1.1 is now available for download as <a href="http://ant.apache.org/antlibs/bindownload.cgi">binary</a>
@@ -318,15 +332,15 @@ have been reported to be working like a
<p>For more information see the <a href="antlibs/antunit/">Antlib's
home page</a></p>
<h3 class="section">
- <a name="AntUnit 1.1 Beta 1"></a>
- AntUnit 1.1 Beta 1
+ <a name="Apache AntUnit 1.1 Beta 1"></a>
+ Apache AntUnit 1.1 Beta 1
</h3>
<h3>September 3, 2008 - Apache AntUnit 1.1 Beta 1 Available</h3>
<h3 class="section">
- <a name="Ant 1.7.1"></a>
- Ant 1.7.1
+ <a name="Apache Ant 1.7.1"></a>
+ Apache Ant 1.7.1
</h3>
- <h3>June 27, 2008 - Ant 1.7.1 Available</h3>
+ <h3>June 27, 2008 - Apache Ant 1.7.1 Available</h3>
<p>Apache Ant 1.7.1 is now available for <a href="http://ant.apache.org/bindownload.cgi">download</a>.</p>
<p> Ant 1.7.1 is mainly a bugfix release.</p>
<p>Ant 1.7.1 has extended support for Java6 features.</p>
@@ -344,18 +358,18 @@ have been reported to be working like a
Ivy from its <a href="http://incubator.apache.org/ivy/">Incubator
website</a>.</p>
<h3 class="section">
- <a name="AntUnit 1.0"></a>
- AntUnit 1.0
+ <a name="Apache AntUnit 1.0"></a>
+ Apache AntUnit 1.0
</h3>
<h3>January 8, 2007 - Apache AntUnit 1.0 Available</h3>
<p>Apache AntUnit 1.0 is now available for <a href="http://ant.apache.org/antlibs/bindownload.cgi">download</a>.</p>
<p>This Ant Library contains tasks to test Ant tasks using Ant
instead of JUnit. For more information see the <a href="antlibs/antunit/">AntUnit home page</a>.</p>
<h3 class="section">
- <a name="Ant 1.7.0"></a>
- Ant 1.7.0
+ <a name="Apache Ant 1.7.0"></a>
+ Apache Ant 1.7.0
</h3>
- <h3>December 19, 2006 - Ant 1.7.0 Available</h3>
+ <h3>December 19, 2006 - Apache Ant 1.7.0 Available</h3>
<p>Apache Ant 1.7.0 is now available for <a href="http://ant.apache.org/bindownload.cgi">download</a>.</p>
<p> Ant 1.7 introduces a resource framework. Some of the core ant
tasks such as &lt;copy/&gt; are now able to process not only file
@@ -372,8 +386,8 @@ have been reported to be working like a
<p>Ant 1.7 fixes also a large number of bugs.</p>
<p>Ant 1.7 has some initial support for Java6 features.</p>
<h3 class="section">
- <a name=".NET Ant Library 1.0Beta1"></a>
- .NET Ant Library 1.0Beta1
+ <a name="Apache .NET Ant Library 1.0Beta1"></a>
+ Apache .NET Ant Library 1.0Beta1
</h3>
<h3>November 6, 2006 - Apache .NET Ant Library 1.0 Available</h3>
<p>Apache .NET Ant Library 1.0 is now available for <a href="http://ant.apache.org/antlibs/bindownload.cgi">download</a>.</p>
@@ -383,24 +397,24 @@ have been reported to be working like a
<p>For more information see the <a href="antlibs/dotnet/">Antlib's
home page</a></p>
<h3 class="section">
- <a name="AntUnit 1.0Beta2"></a>
- AntUnit 1.0Beta2
+ <a name="Apache AntUnit 1.0Beta2"></a>
+ Apache AntUnit 1.0Beta2
</h3>
<h3>October 29, 2006 - Apache AntUnit 1.0Beta2 Available</h3>
<p>Apache AntUnit 1.0Beta1 is now available for <a href="http://ant.apache.org/antlibs/bindownload.cgi">download</a>.</p>
<p>This Ant Library contains tasks to test Ant tasks using Ant
instead of JUnit. For more information see the <a href="antlibs/antunit/">AntUnit home page</a>.</p>
<h3 class="section">
- <a name="AntUnit 1.0Beta1"></a>
- AntUnit 1.0Beta1
+ <a name="Apache AntUnit 1.0Beta1"></a>
+ Apache AntUnit 1.0Beta1
</h3>
<h3>September 22, 2006 - Apache AntUnit 1.0Beta1 Available</h3>
<p>Apache AntUnit 1.0Beta1 is now available for <a href="http://ant.apache.org/antlibs/bindownload.cgi">download</a>.</p>
<p>This Ant Library contains tasks to test Ant tasks using Ant
instead of JUnit. For more information see the <a href="antlibs/antunit/">AntUnit home page</a>.</p>
<h3 class="section">
- <a name=".NET Ant Library 1.0Beta1"></a>
- .NET Ant Library 1.0Beta1
+ <a name="Apache .NET Ant Library 1.0Beta1"></a>
+ Apache .NET Ant Library 1.0Beta1
</h3>
<h3>September 13, 2006 - Apache .NET Ant Library 1.0Beta1 Available</h3>
<p>Apache .NET Ant Library 1.0Beta1 is now available for <a href="http://ant.apache.org/antlibs/bindownload.cgi">download</a>.</p>
@@ -410,32 +424,32 @@ have been reported to be working like a
<p>For more information see the <a href="antlibs/dotnet/">Antlib's
home page</a></p>
<h3 class="section">
- <a name="Ant 1.6.5"></a>
- Ant 1.6.5
+ <a name="Apache Ant 1.6.5"></a>
+ Apache Ant 1.6.5
</h3>
- <h3>June 2, 2005 - Ant 1.6.5 Available</h3>
+ <h3>June 2, 2005 - Apache Ant 1.6.5 Available</h3>
<p>Apache Ant 1.6.5 is now available for <a href="http://ant.apache.org/bindownload.cgi">download</a>.</p>
<p>This is a bug fix release.</p>
<h3 class="section">
- <a name="Ant 1.6.4"></a>
- Ant 1.6.4
+ <a name="Apache Ant 1.6.4"></a>
+ Apache Ant 1.6.4
</h3>
- <h3>May 19, 2005 - Ant 1.6.4 Available</h3>
+ <h3>May 19, 2005 - Apache Ant 1.6.4 Available</h3>
<p>Apache Ant 1.6.4 is now available for <a href="http://archive.apache.org/dist/ant/">download</a>.</p>
<p>This is a bug fix release.</p>
<h3 class="section">
- <a name="Ant 1.6.3"></a>
- Ant 1.6.3
+ <a name="Apache Ant 1.6.3"></a>
+ Apache Ant 1.6.3
</h3>
- <h3>April 28, 2005 - Ant 1.6.3 Available</h3>
+ <h3>April 28, 2005 - Apache Ant 1.6.3 Available</h3>
<p>Apache Ant 1.6.3 is now available for <a href="http://archive.apache.org/dist/ant/">download</a>.</p>
<p>There is a large list of fixed bugs and enhancements.</p>
<p>Some of the bugs affecting the embedded use of Ant are fixed.</p>
<h3 class="section">
- <a name="Antidote Retired"></a>
- Antidote Retired
+ <a name="Apache Antidote Retired"></a>
+ Apache Antidote Retired
</h3>
- <h3>April 4th, 2005 - The Apache Ant Project Retires Antidote, the
+ <h3>April 4th, 2005 - The Apache Ant Project Retires Apache Antidote, the
Ant GUI</h3>
<p>The Antidote subproject was once started to provide a GUI for
Ant at a time where IDE support for Ant was far from usable.
@@ -453,10 +467,10 @@ have been reported to be working like a
<p>If you are interested in Antidote's sources to learn from or
build on it, you can find snapshots at <a href="http://archive.apache.org/ant/antidote/">http://archive.apache.org/ant/antidote/</a>.</p>
<h3 class="section">
- <a name="Ant 1.6.2"></a>
- Ant 1.6.2
+ <a name="Apache Ant 1.6.2"></a>
+ Apache Ant 1.6.2
</h3>
- <h3>July 16, 2004 - Ant 1.6.2 Available</h3>
+ <h3>July 16, 2004 - Apache Ant 1.6.2 Available</h3>
<p>Apache Ant 1.6.2 available for <a href="http://archive.apache.org/dist/ant/">download</a>.</p>
<p>Nested elements for namespaced tasks and types may belong to the
Ant default namespace as well as the task's or type's namespace.</p>
@@ -469,15 +483,15 @@ features which were asked for by users o
Wiki Migration
</h3>
<h3>February 29, 2004</h3>
- <p>The Ant Wiki pages have been migrated to their
+ <p>The Apache Ant Wiki pages have been migrated to their
<a href="http://wiki.apache.org/ant/">new home</a> on the Apache
Wiki farm.
</p>
<h3 class="section">
- <a name="Ant 1.6.1"></a>
- Ant 1.6.1
+ <a name="Apache Ant 1.6.1"></a>
+ Apache Ant 1.6.1
</h3>
- <h3>February 12, 2004 - Ant 1.6.1 Available</h3>
+ <h3>February 12, 2004 - Apache Ant 1.6.1 Available</h3>
<p>Apache Ant 1.6.1 is still available for
<a href="http://archive.apache.org/dist/ant/">download</a>.
</p>
@@ -492,10 +506,10 @@ features which were asked for by users o
<p>Ant 1.6.1 also introduces initial support for compiling with
Java 1.5.</p>
<h3 class="section">
- <a name="Ant 1.6.0"></a>
- Ant 1.6.0
+ <a name="Apache Ant 1.6.0"></a>
+ Apache Ant 1.6.0
</h3>
- <h3>December 18, 2003 - Ant 1.6.0 Available</h3>
+ <h3>December 18, 2003 - Apache Ant 1.6.0 Available</h3>
<p>Apache Ant 1.6.0 is still available for
<a href="http://archive.apache.org/dist/ant/">download</a>.
</p>
@@ -511,10 +525,10 @@ features which were asked for by users o
did) or could be explained better, feel free to help us out in the
<a href="http://wiki.apache.org/ant/NewAntFeaturesInDetail">Wiki</a>.</p>
<h3 class="section">
- <a name="Ant 1.5.4"></a>
- Ant 1.5.4
+ <a name="Apache Ant 1.5.4"></a>
+ Apache Ant 1.5.4
</h3>
- <h3>August 12, 2003 - Ant 1.5.4 Available</h3>
+ <h3>August 12, 2003 - Apache Ant 1.5.4 Available</h3>
<p>Apache Ant 1.5.4 is still available for
<a href="http://archive.apache.org/dist/ant/">download</a>.
</p>
@@ -535,7 +549,7 @@ did) or could be explained better, feel
</h3>
<a href="http://www.ftponline.com/javapro/">
<img style="padding: 5px" src="images/jp_rcwinner_2003.gif" alt="" border="0" height="80" width="139" align="right" /></a>
- <h3>June 11th, 2003: Ant wins a Java Pro readers' choice award</h3>
+ <h3>June 11th, 2003: Apache Ant wins a Java Pro readers' choice award</h3>
<p>
Ant has won the Java Pro 2003 Readers' Choice Award for
</p>
@@ -553,16 +567,16 @@ did) or could be explained better, feel
JDJ Editors Choice Award
</h3>
<a href="http://sys-con.com/java/article2a.cfm?id=2059&amp;count=1734&amp;tot=6&amp;page=2"><img src="images/JDJEditorsChoiceAward.jpg" alt="" border="0" align="right" /></a>
- <h3>June 2003: Ant wins JDJ Editors' Choice Award</h3>
+ <h3>June 2003: Apache Ant wins JDJ Editors' Choice Award</h3>
<p>
"Ant is the hammer of the Java world: without it, civilization might have progressed, but much more slowly than it has. Ant is one of the most useful build tools I have ever had the pleasure to use." - Joe Ottinger
</p>
<h3 class="section">
- <a name="Ant keeps on winning!"></a>
- Ant keeps on winning!
+ <a name="Apache Ant keeps on winning!"></a>
+ Apache Ant keeps on winning!
</h3>
<a href="http://www.javaworld.com/"><img src="images/jw_ec_logo_winner2003.gif" alt="" border="0" height="108" width="252" align="right" /></a>
- <h3>June 9th, 2003: Ant wins the JavaWorld Editors' Choice Award</h3>
+ <h3>June 9th, 2003: Apache Ant wins the JavaWorld Editors' Choice Award</h3>
<p>
Ant has won the JavaWorld Editors' Choice Award for
</p>
@@ -574,26 +588,26 @@ did) or could be explained better, feel
<a href="http://www.javaworld.com/javaworld/jw-06-2003/jw-0609-eca.html"> full article</a> -- or jump directly to the bit about
<a href="http://www.javaworld.com/javaworld/jw-06-2003/jw-0609-eca-p4.html"> our award</a> <code>:)</code></p>
<h3 class="section">
- <a name="Ant 1.5.3"></a>
- Ant 1.5.3
+ <a name="Apache Ant 1.5.3"></a>
+ Apache Ant 1.5.3
</h3>
- <h3>April 9, 2003 - Ant 1.5.3 Available</h3>
+ <h3>April 9, 2003 - Apache Ant 1.5.3 Available</h3>
<p>Apache Ant 1.5.3 is still available for
<a href="http://archive.apache.org/dist/ant/">download</a>.
</p>
<h3 class="section">
- <a name="Ant 1.5.2"></a>
- Ant 1.5.2
+ <a name="Apache Ant 1.5.2"></a>
+ Apache Ant 1.5.2
</h3>
- <h3>March 3, 2003 - Ant 1.5.2 Available!</h3>
+ <h3>March 3, 2003 - Apache Ant 1.5.2 Available!</h3>
<p>The final version of Ant 1.5.2 is available for
<a href="http://archive.apache.org/dist/ant/">download</a>.
If you have any feedback on this release, feel free to join the
discussion on the dev and user mailing lists.
</p>
<h3 class="section">
- <a name="Ant Top Level Project"></a>
- Ant Top Level Project
+ <a name="Apache Ant Top Level Project"></a>
+ Apache Ant Top Level Project
</h3>
<h3>November 18, 2002</h3>
<p>The Apache board <a href="mission.html">created</a>
@@ -605,34 +619,34 @@ did) or could be explained better, feel
is now located at <a href="http://ant.apache.org/">http://ant.apache.org/</a>
</p>
<h3 class="section">
- <a name="Ant 1.5.1"></a>
- Ant 1.5.1
+ <a name="Apache Ant 1.5.1"></a>
+ Apache Ant 1.5.1
</h3>
- <h3>October 3, 2002 - Ant 1.5.1 Available !</h3>
+ <h3>October 3, 2002 - Apache Ant 1.5.1 Available !</h3>
<p>The final version of Ant 1.5.1 is still available for
<a href="http://archive.apache.org/dist/ant/">
download</a>. If you have any feedback on this release, feel free to join the
discussion on the ant-dev and ant-user mailing lists.
</p>
<h3 class="section">
- <a name="Ant 1.5"></a>
- Ant 1.5
+ <a name="Apache Ant 1.5"></a>
+ Apache Ant 1.5
</h3>
<h3>July 15, 2002 - Fix for Cygwin problem in wrapper script available</h3>
- <p>The wrapper script of Ant 1.5 needs to be replaced with a new
+ <p>The wrapper script of Apache Ant 1.5 needs to be replaced with a new
version for Cygwin users. See the <a href="faq.html#1.5-cygwin-sh">FAQ</a> for details.</p>
- <h3>July 10, 2002 - Ant 1.5 Released!</h3>
+ <h3>July 10, 2002 - Apache Ant 1.5 Released!</h3>
<p>The final version of Ant 1.5 is now available for
<a href="http://archive.apache.org/dist/ant/">
download</a>. If you have any feedback on this release, feel free to join the
discussion on the ant-dev and ant-user mailing lists.
</p>
<h3 class="section">
- <a name="Ant wins again!"></a>
- Ant wins again!
+ <a name="Apache Ant wins again!"></a>
+ Apache Ant wins again!
</h3>
<a href="http://www.sdmagazine.com/"><img src="images/sdm_productivity_award.gif" alt="" border="0" height="108" width="181" align="right" /></a>
- <h3>Apr 29, 2002: Ant wins <em>Software Development</em> magazine's
+ <h3>Apr 29, 2002: Apache Ant wins <em>Software Development</em> magazine's
2002 Productivity Award.</h3>
<p>
Ant has been awarded a <strong>2002 Productivity Award</strong> by
@@ -642,11 +656,11 @@ did) or could be explained better, feel
press release</a> for more information and the full list of winners.
</p>
<h3 class="section">
- <a name="Ant has won!"></a>
- Ant has won!
+ <a name="Apache Ant has won!"></a>
+ Apache Ant has won!
</h3>
<a href="http://www.javaworld.com/"><img src="images/jw_ec_logo_winner2002.gif" alt="" border="0" height="108" width="252" align="right" /></a>
- <h3>Mar 26, 2002: Ant wins the JavaWorld Editors' Choice
+ <h3>Mar 26, 2002: Apache Ant wins the JavaWorld Editors' Choice
Award</h3>
<p>
Ant has won the JavaWorld Editors' Choice Award for
@@ -660,7 +674,7 @@ did) or could be explained better, feel
</h3>
<h3>Feb 15, 2002: Java 1.4 Support</h3>
<p>
- Java 1.4 has now been released by Sun. The latest Ant source supports
+ Java 1.4 has now been released by Sun. The latest Apache Ant source supports
the new <tt>assert</tt> statement in the compiler task via the <tt>source</tt>
attribute. It also contains a compatibility fix needed for some ant tasks
on Java 1.4 over Windows XP. If you have problems running Ant 1.4.1 on WinXP/Java 1.4,
@@ -672,25 +686,26 @@ did) or could be explained better, feel
</h3>
<h3>Have a look at our new cool logo!</h3>
<h3 class="section">
- <a name="Ant 1.4.1"></a>
- Ant 1.4.1
+ <a name="Apache Ant 1.4.1"></a>
+ Apache Ant 1.4.1
</h3>
- <h3>11 October 2001 Ant 1.4.1 released !</h3>
+ <h3>11 October 2001 Apache Ant 1.4.1 released !</h3>
<p>Please visit the
<a href="http://archive.apache.org/dist/ant/">
download area</a>.
</p>
<h3 class="section">
- <a name="Best-Practices Profile of Ant at Sun's Dot-Com Builder"></a>
- Best-Practices Profile of Ant at Sun's Dot-Com Builder
+ <a name="Best-Practices Profile of Apache Ant at Sun's Dot-Com Builder"></a>
+ Best-Practices Profile of Apache Ant at Sun's Dot-Com Builder
</h3>
- <p>Sun has released an introductory article on Ant on their
+ <p>Sun has released an introductory article on Apache Ant on their
Dot-Com Builder site on May 30 2001. See <a href="http://dcb.sun.com/practices/profiles/ant.jsp">http://dcb.sun.com/practices/profiles/ant.jsp</a></p>

</div>
</div>

<p class="copyright">
+ Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
<script type="text/javascript" language="JavaScript"><!--
document.write(" - "+"Last Published: " + document.lastModified);
// -->

Modified: ant/core/branches/ANT_SITE/docs/bindownload.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/bindownload.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/bindownload.html (original)
+++ ant/core/branches/ANT_SITE/docs/bindownload.html Mon Dec 13 18:34:00 2010
@@ -97,7 +97,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -137,6 +137,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -153,6 +156,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -163,9 +169,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -197,8 +200,14 @@
<div class="content">
<h1 class="title">Binary Distributions</h1>
<h3 class="section">
- <a name="Downloading Ant"></a>
- Downloading Ant
+ <a name="Apache Ant&amp;#x2122;"></a>
+ Apache Ant&#x2122;
+ </h3>
+ <p>Apache Ant is a Java library and command-line tool that help
+ building software.</p>
+ <h3 class="section">
+ <a name="Downloading Apache Ant"></a>
+ Downloading Apache Ant
</h3>
<p>Use the links below to download a binary distribution of Ant from
one of our mirrors. It is good practice to
@@ -244,11 +253,11 @@ Other mirrors: <select name="Preferred">
<a name="Current Release of Ant"></a>
Current Release of Ant
</h3>
- <p>Currently, Apache Ant 1.8.0 is the best available version, see the
+ <p>Currently, Apache Ant 1.8.1 is the best available version, see the
<a href="[preferred]/ant/README.html">release notes</a>.</p>
<div class="warning">
<div class="label">Note</div>
-<div class="content">Ant 1.8.0 was released on 8-Feb-2010 and
+<div class="content">Ant 1.8.1 was released on 7-May-2010 and
may not be available on all mirrors for a few days.</div>
</div>
<br />
@@ -259,37 +268,38 @@ may not be available on all mirrors for
</div>
<ul>
<li><code>.zip</code> archive:
-<a href="[preferred]/ant/binaries/apache-ant-1.8.0-bin.zip">apache-ant-1.8.0-bin.zip</a>
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip.md5">MD5</a>]</li>
+<a href="[preferred]/ant/binaries/apache-ant-1.8.1-bin.zip">apache-ant-1.8.1-bin.zip</a>
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.zip.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.zip.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.zip.sha512">SHA512</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.zip.md5">MD5</a>]</li>

<li><code>.tar.gz</code> archive:
-<a href="[preferred]/ant/binaries/apache-ant-1.8.0-bin.tar.gz">apache-ant-1.8.0-bin.tar.gz</a>
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz.md5">MD5</a>]</li>
+<a href="[preferred]/ant/binaries/apache-ant-1.8.1-bin.tar.gz">apache-ant-1.8.1-bin.tar.gz</a>
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.gz.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.gz.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.gz.sha512">SHA512</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.gz.md5">MD5</a>]</li>

<li><code>.tar.bz2</code> archive:
-<a href="[preferred]/ant/binaries/apache-ant-1.8.0-bin.tar.bz2">apache-ant-1.8.0-bin.tar.bz2</a>
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.bz2.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.bz2.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.bz2.md5">MD5</a>]</li>
+<a href="[preferred]/ant/binaries/apache-ant-1.8.1-bin.tar.bz2">apache-ant-1.8.1-bin.tar.bz2</a>
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.bz2.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.bz2.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.bz2.sha512">SHA512</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.1-bin.tar.bz2.md5">MD5</a>]</li>
</ul>
<h3 class="section">
<a name="Old Ant Releases"></a>
Old Ant Releases
</h3>
- <p>Older releases of Ant can be found <a href="http://archive.apache.org/dist/ant/binaries/">here</a>. Those
-releases are only provided as <code>zip</code> archives that can be
-extracted by <code>jar xf </code><em>archive.zip</em> - we highly
+ <p>Older releases of Ant can be found <a href="http://archive.apache.org/dist/ant/binaries/">here</a>. We highly
recommend to not use those releases but upgrade to Ant's <a href="[location]#Current Release of Ant">latest</a> release.</p>
<h3 class="section">
<a name="Verify Releases"></a>
Verify Releases
</h3>
<p>It is essential that you verify the integrity of the downloaded
-files using the PGP signature or the SHA1 or MD5 checksums. The
+files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The
checksums are not as strong indicators as the PGP signature.</p>
<p>The PGP signatures can be verified using PGP or GPG. First
download the <a href="http://www.apache.org/dist/ant/KEYS">KEYS</a>
@@ -299,25 +309,25 @@ directory</a>, rather than from a mirror
using</p>
<p><code>
% pgpk -a KEYS<br />
-% pgpv apache-ant-1.8.0-bin.tar.gz.asc<br />
+% pgpv apache-ant-1.8.1-bin.tar.gz.asc<br />
</code>
<em>or</em><br />
<code>
% pgp -ka KEYS<br />
-% pgp apache-ant-1.8.0-bin.tar.gz.asc<br />
+% pgp apache-ant-1.8.1-bin.tar.gz.asc<br />
</code>
<em>or</em><br />
<code>
% gpg --import KEYS<br />
-% gpg --verify apache-ant-1.8.0-bin.tar.gz.asc
+% gpg --verify apache-ant-1.8.1-bin.tar.gz.asc
</code></p>
<p>A command line version of <a href="http://www.gnupg.org/download/">GnuPG</a>
is also available for Windows users. Follow the
<a href="http://www.gnupg.org/(en)/documentation/faqs.html#q4.19">instructions</a>
to verify the package.</p>
<p>Alternatively, you can verify the checksums on the files. Unix
-programs called <code>md5</code>/<code>sha1</code> or
-<code>md5sum</code>/<code>sha1sum</code> are included in many unix
+programs called <code>md5</code>/<code>sha1</code>/<code>sha512</code> or
+<code>md5sum</code>/<code>sha1sum</code>/<code>sha512sum</code> are included in many unix
distributions. <code>*sum</code> is also available as part of <a href="http://www.gnu.org/software/textutils/textutils.html">GNU
Textutils</a>. Windows users can get binary md5 programs from <a href="http://www.fourmilab.ch/md5/">here</a>, <a href="http://www.pc-tools.net/win32/freeware/console/">here</a>. <a href="http://www.slavasoft.com/fsum/">fsum</a> supports MD5 and
SHA1.</p>
@@ -327,6 +337,7 @@ SHA1.</p>
</div>

<p class="copyright">
+ Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
<script type="text/javascript" language="JavaScript"><!--
document.write(" - "+"Last Published: " + document.lastModified);
// -->

Modified: ant/core/branches/ANT_SITE/docs/bugs.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/bugs.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/bugs.html (original)
+++ ant/core/branches/ANT_SITE/docs/bugs.html Mon Dec 13 18:34:00 2010
@@ -99,7 +99,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -139,6 +139,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +158,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +171,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -230,8 +233,8 @@
add yourself to the <code>CC</code> list to follow the progress
of this bug.
</p>
- <p><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Ant&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Open Ant bugs by order of priority</a>.</p>
- <p><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Ant&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;order=bugs.votes,bugs.priority%2Cbugs.bug_severity&amp;query_based_on=">Open Ant bugs by number of votes</a>.</p>
+ <p><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Ant&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Open Apache Ant bugs by order of priority</a>.</p>
+ <p><a href="http://issues.apache.org/bugzilla/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Ant&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=&amp;emailassigned_to2=1&amp;emailreporter2=1&amp;emailcc2=1&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;order=bugs.votes,bugs.priority%2Cbugs.bug_severity&amp;query_based_on=">Open Apache Ant bugs by number of votes</a>.</p>
<h4 class="subsection">
<a name="Filing a Bug Report"></a>
Filing a Bug Report
@@ -239,7 +242,7 @@
<p>
Please read our document about <a href="problems.html">problems</a>
before deciding that there is an unreported
- bug in Ant.
+ bug in Apache Ant.
</p>
<p>
You have a few choices at this point. You can send

Modified: ant/core/branches/ANT_SITE/docs/bylaws.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/bylaws.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/bylaws.html (original)
+++ ant/core/branches/ANT_SITE/docs/bylaws.html Mon Dec 13 18:34:00 2010
@@ -99,7 +99,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -139,6 +139,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +158,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +171,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -199,8 +202,8 @@
<div class="content">
<h1 class="title">Project Bylaws</h1>
<h3 class="section">
- <a name="Apache Ant Project Bylaws"></a>
- Apache Ant Project Bylaws
+ <a name="Apache Ant&amp;#x2122; Project Bylaws"></a>
+ Apache Ant&#x2122; Project Bylaws
</h3>
<p>
This document defines the bylaws under which the Apache Ant project
@@ -803,6 +806,7 @@
</div>

<p class="copyright">
+ Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
<script type="text/javascript" language="JavaScript"><!--
document.write(" - "+"Last Published: " + document.lastModified);
// -->

Modified: ant/core/branches/ANT_SITE/docs/contributors.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/contributors.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/contributors.html (original)
+++ ant/core/branches/ANT_SITE/docs/contributors.html Mon Dec 13 18:34:00 2010
@@ -99,7 +99,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -139,6 +139,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +158,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +171,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management

Modified: ant/core/branches/ANT_SITE/docs/external.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/external.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/external.html (original)
+++ ant/core/branches/ANT_SITE/docs/external.html Mon Dec 13 18:34:00 2010
@@ -23,9 +23,7 @@
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Apache Ant - External Tools and Tasks</title>
<link type="text/css" href="./page.css" rel="stylesheet">
- <meta name="author" content="Stefan Bodewig">
- <meta name="email" content="bodewig@apache.org">
- </head>
+ </head>

<body>
<p class="navpath">
@@ -99,7 +97,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -139,6 +137,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +156,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +169,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -205,7 +206,7 @@
<p>This page lists external resources for Apache Ant: <a href="#Tasks">Tasks</a>, <a href="#Compiler%20Implementations">Compiler Implementations</a>,
<a href="#IDE%20and%20Editor%20Integration">IDE integration
tools</a>, <a href="#Source%20Control%20ystems">Source Control
- Systems</a>, loggers, you name it. If you've written
+ Systems</a>, <a href="#Loggers">Loggers</a>, you name it. If you've written
something that should be included, please post all relevant
information to one of the mailing lists. For details, see the
<a href="faq.html#adding-external-tasks">FAQ</a>.</p>
@@ -1452,6 +1453,67 @@
</tr>
</table>
<h4 class="subsection">
+ <a name="Commons Configuration Ant Task"></a>
+ Commons Configuration Ant Task
+ </h4>
+ <p>A set of Ant task that help convert Apache Commons
+ Configuration property files into build properties, java Enum's
+ (that are populated at runtime), and any exportable property /
+ env file desired (e.g., csh, bash, bat, etc.).</p>
+ <p>This project provides the following tasks:
+ <ul>
+ <li><b>CreateEnumTask</b>: Creates a Java enum based on
+ commons configuration property files. </li>
+ <li><b>ExportPropertiesTask</b>: Exports commons
+ configuration properties to a external file in a using a
+ specified format.</li>
+ <li><b>LoadPropertiesTask</b>: Loads commons configuration
+ properties into pre-generated Java enum.</li>
+ </ul>
+ </p>
+ <table class="externals" cellspacing="1" cellpadding="4">
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Compatibility:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ Ant 1.6 and above
+ </td>
+ </tr>
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ URL:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <a href="http://code.google.com/p/commonsconfiganttask/">http://code.google.com/p/commonsconfiganttask/</a>
+ </td>
+ </tr>
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Contact:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <a href="mailto:ndunn.at.me.com">ndunn at me.com</a>
+ </td>
+ </tr>
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ License:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ Apache License 2.0
+ </td>
+ </tr>
+ </table>
+ <h4 class="subsection">
<a name="Configure"></a>
Configure
</h4>
@@ -2644,7 +2706,7 @@
<a name="J2ME Ant Tasks"></a>
J2ME Ant Tasks
</h4>
- <p>There are different sets of tasks to help build <a href="http://java.sun.com/j2me/">Java 2 Platform, Micro
+ <p>There are different sets of tasks to help build <a href="http://www.oracle.com/technetwork/java/javame/overview/index.html">Java 2 Platform, Micro
Edition</a> (J2ME) applications.</p>
<h5 class="subsection">
<a name="Antenna"></a>
@@ -6939,7 +7001,7 @@
</th>
<td colspan="1" rowspan="1"
valign="top" align="left">
- bundles 1.8.0 starting with NetBeans 6.9
+ bundles 1.8.0 starting with NetBeans 6.9; 1.8.1 for 6.9.1
</td>
</tr>
<tr>
@@ -7417,6 +7479,59 @@
</td>
</tr>
</table>
+ <h3 class="section">
+ <a name="Loggers"></a>
+ Loggers
+ </h3>
+ <h4 class="subsection">
+ <a name="AntStatistics"></a>
+ AntStatistics
+ </h4>
+ <p><a href="http://code.google.com/p/antstatistics/">AntStatistics</a> logs execution times for
+ all build targets and displays them at the end of the build. Furthermore execution times of
+ past builds are collected and graphed in a chart.</p>
+ <table class="externals" cellspacing="1" cellpadding="4">
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Compatibility:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ Ant 1.3
+ </td>
+ </tr>
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ URL:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <a href="http://code.google.com/p/antstatistics/">http://code.google.com/p/antstatistics/</a>
+ </td>
+ </tr>
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ Contact:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ <a href="http://code.google.com/p/antstatistics/issues/list">issue tracker</a>
+ </td>
+ </tr>
+ <tr>
+ <th colspan="1" rowspan="1"
+ valign="top" align="left">
+ License:
+ </th>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ Apache License 2.0
+ </td>
+ </tr>
+ </table>

</div>
</div>

Propchange: ant/core/branches/ANT_SITE/docs/external.html
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision

Modified: ant/core/branches/ANT_SITE/docs/faq.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/faq.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/faq.html (original)
+++ ant/core/branches/ANT_SITE/docs/faq.html Mon Dec 13 18:34:00 2010
@@ -99,7 +99,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -139,6 +139,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +158,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +171,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -230,7 +233,7 @@
<ul>
<li><a href="#java-version">
Which version of Java is required to run
- Ant?
+ Apache Ant?
</a></li>
<li><a href="#no-gnu-tar">
I get checksum errors when I try to extract the
@@ -361,10 +364,10 @@
Windows.
</a></li>
</ul>
- <h4 class="toc">Ant and IDEs/Editors</h4>
+ <h4 class="toc">Apache Ant and IDEs/Editors</h4>
<ul>
<li><a href="#integration">
- Is Ant supported by my IDE/Editor?
+ Is Apache Ant supported by my IDE/Editor?
</a></li>
<li><a href="#emacs-mode">
Why doesn't (X)Emacs/vi/MacOS X's project builder
@@ -445,7 +448,7 @@
Where do I find the latest version of this
document?
</p>
- <p>The latest version can always be found at Ant's homepage
+ <p>The latest version can always be found at Apache Ant's homepage
<a href="http://ant.apache.org/faq.html">http://ant.apache.org/faq.html</a>.</p>
<p class="faq">
<a name="adding-faqs"></a>
@@ -721,11 +724,21 @@
8 February 2010
</td>
</tr>
+ <tr>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ 1.8.1
+ </td>
+ <td colspan="1" rowspan="1"
+ valign="top" align="left">
+ 7 May 2010
+ </td>
+ </tr>
</table>
<p class="faq">
<a name="java-version"></a>
Which version of Java is required to run
- Ant?
+ Apache Ant?
</p>
<p>You will need Java installed on your system, version 1.4 or
later required, 1.5 or later strongly recommended. The later
@@ -832,7 +845,7 @@ Apache Ant version 1.6.2 compiled on Jul
<a name="precompile-jsps"></a>
How to I precompile Java Server Pages (JSPs)?
</p>
- <p>Ant has a built in optional task <a href="/manual/OptionalTasks/jspc.html">&lt;jspc&gt;</a>
+ <p>Apache Ant has a built in optional task <a href="/manual/Tasks/jspc.html">&lt;jspc&gt;</a>
which was intended for that. <b>But this task is deprecated.</b>
Here the alternative suggested by the manual:</p>
<p><i>Instead of relying on container specific JSP-compilers we suggest deploying
@@ -1159,7 +1172,7 @@ shell-prompt&gt; m4 foo.m4 &gt; foo
course, comes with the overhead of adding JAR files to support
the language, to say nothing of the added maintenance in requiring
two languages to implement a single system. See the
- <a href="manual/OptionalTasks/script.html">
+ <a href="manual/Tasks/script.html">
<code>&lt;script&gt;</code> task documentation</a> for more
details.</p>
<p class="faq">
@@ -1263,7 +1276,7 @@ shell-prompt&gt; m4 foo.m4 &gt; foo
<a name="general-advice"></a>
General Advice
</p>
- <p>There are many reasons why Ant doesn't behave as
+ <p>There are many reasons why Apache Ant doesn't behave as
expected, not all of them are due to Ant bugs. See our <a href="problems.html">Having Problems?</a> page for hints that
may help pinning down the reasons for your problem.</p>
<p class="faq">
@@ -1457,7 +1470,7 @@ shell-prompt&gt; m4 foo.m4 &gt; foo
</p>
<p>
Ant implements the Java
- <a href="http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html">Jar
+ <a href="http://download.oracle.com/javase/1.4.2/docs/guide/jar/jar.html">Jar
file specification</a>. Please refer to the notes section where it
discusses the maximum allowable length of a line and the concept of
continuation characters.
@@ -1494,7 +1507,7 @@ shell-prompt&gt; m4 foo.m4 &gt; foo
your buildfile.</p>
<p class="faq">
<a name="integration"></a>
- Is Ant supported by my IDE/Editor?
+ Is Apache Ant supported by my IDE/Editor?
</p>
<p>See the <a href="external.html#IDE and Editor Integration">section
on IDE integration</a> on our External Tools and Tasks page.</p>
@@ -1572,7 +1585,7 @@ while(&lt;STDIN&gt;) {
<a href="http://www.sdv.fr/pages/casa/html/ant-dtd.en.html">this
page</a> by Michel Casabianca for a solution to this
problem. Note that the DTD you can download at this page
- is based on Ant 0.3.1.</li>
+ is based on Apache Ant 0.3.1.</li>

<li>It may even be an invalid DTD. As Ant allows tasks
writers to define arbitrary elements, name collisions will
@@ -1659,7 +1672,7 @@ while(&lt;STDIN&gt;) {
BuildListener that sends out an email
in the buildFinished() method. Will Glozer
&lt;will.glozer@jda.com&gt; has written such a listener based
- on <a href="http://java.sun.com/products/javamail/">JavaMail</a>.
+ on <a href="http://www.oracle.com/technetwork/java/index-jsp-139225.html">JavaMail</a>.
The source is:</p>
<pre class="code">
import java.io.*;
@@ -1798,7 +1811,7 @@ ant -listener BuildMonitor -logfile buil
</pre>
<p>Make sure that <code>mail.jar</code> from JavaMail and
<code>activation.jar</code> from the
- <a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">Java
+ <a href="http://www.oracle.com/technetwork/java/javase/jaf-135115.html">Java
Beans Activation Framework</a> are in your <code>CLASSPATH</code>.</p>
<p class="faq">
<a name="listener-properties"></a>
@@ -1824,7 +1837,7 @@ public void buildFinished(BuildEvent e)
or leads to strange behaviour of <code>&lt;input&gt;</code>
tasks.
</p>
- <p>When Ant forks a new process for example by using the
+ <p>When Apache Ant forks a new process for example by using the
<code>&lt;exec&gt;</code>, <code>&lt;apply&gt;</code>
or <code>&lt;java&gt;</code> tasks, it will also start a
new thread reading from standard input and sending
@@ -1928,7 +1941,7 @@ mv /tmp/foo $ANT_HOME/bin/antRun
requires you to have <code>junit.jar</code> in Ant's startup
classpath even if <code>ant-junit.jar</code> is present there.</p>
<p>Ant's class loader implementation uses Java's
- delegation model, see <a href="http://java.sun.com/products/jdk/1.2/docs/api/java/lang/ClassLoader.html">http://java.sun.com/products/jdk/1.2/docs/api/java/lang/ClassLoader.html</a>
+ delegation model, see <a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html">http://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html</a>
the paragraph</p>
<blockquote>The <code>ClassLoader</code> class uses a
delegation model to search for classes and resources. Each

Modified: ant/core/branches/ANT_SITE/docs/index.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/index.html (original)
+++ ant/core/branches/ANT_SITE/docs/index.html Mon Dec 13 18:34:00 2010
@@ -101,7 +101,7 @@
<span class="sel">Welcome</span>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -141,6 +141,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -157,6 +160,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -167,9 +173,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -201,67 +204,76 @@
<div class="content">
<h1 class="title">Welcome</h1>
<h3 class="section">
- <a name="Ant 1.8.0"></a>
- Ant 1.8.0
+ <a name="Apache Ant&amp;#x2122;"></a>
+ Apache Ant&#x2122;
</h3>
- <h3>February 8, 2010 - Ant 1.8.0 Available</h3>
+ <p>Apache Ant is a Java library and command-line tool who's
+ mission is to drive processes described in build files as targets
+ and extension points dependent upon each other.
+ The main known usage of Ant is the build of Java applications.
+ Ant supplies a number of built-in tasks allowing to compile, assemble,
+ test and run Java applications.
+ Ant can also be used effectively to build non Java applications, for
+ instance C or C++ applications. More generally, Ant can be used to
+ pilot any type of process which can be described in terms of targets
+ and tasks.
+ </p>
<p>
- Apache Ant 1.8.0 is now available for
- <a href="http://ant.apache.org/bindownload.cgi">download</a>
- .
- </p>
- <ul>
- <li>Lexically scoped local properties, i.e. properties that are only
- defined inside a target,
- sequential block or similar environment.</li>
- <li>&lt;import&gt; can now import from any file- or URL-providing resource -
- this includes &lt;javaresource&gt;.</li>
- <li>Various improvements to the directory scanning code that help
- with symbolic link cycles (as can be found on MacOS X Java
- installations for example) and improve scanning performance.
- For big directory trees the improvement is
- <a href="http://mail-archives.apache.org/mod_mbox/ant-dev/200809.mbox/%3Cy1u4p48li29.fsf@v30161.1blu.de%3E">dramatic</a>.</li>
- <li>The way developers can extend Ant's property expansion algorithm has been rewritten
- (breaking the older API) to be easier to use and be more powerful.
- </li>
- <li>a new top level element extension-point allows build files to be
- extended with custom targets more easily</li>
- <li>At the same time the if and unless attributes have been rewritten to do the expected
- thing if applied to a property expansion (i.e. if="${foo}" will mean "yes, do it"
- if ${foo} expands to true, in Ant 1.7.1 it would mean "no" unless a property named
- "true" existed). This adds "testing conditions" as a new use-case to property
- expansion.</li>
- <li>Ant now requires Java 1.4 or later</li>
- <li>new task include provides an alternative to &lt;import&gt; that
- should be preferred when you don't want to override any targets</li>
- <li>numerous bug fixes and improvements as documented in Bugzilla
- and in WHATSNEW</li>
- </ul>
+ Ant is written in Java. Users of Ant can develop their own
+ "antlibs" containing Ant tasks and types, and are offered
+ a large number of ready-made commercial or open-source "antlibs".
+ </p>
+ <p>
+ Ant is extremely flexible and does not impose coding conventions or
+ directory layouts to the Java projects which adopt it as a build tool.
+ </p>
+ <p>
+ Software development projects looking for a solution combining build tool and
+ dependency management can use Ant in combination with <a href="http://ant.apache.org/ivy/">Apache Ivy</a>.
+</p>
+ <p>The Apache Ant project is part of
+ the <a href="http://www.apache.org/">Apache Software
+ Foundation</a>.</p>
<h3 class="section">
- <a name="Ivy 2.1.0"></a>
- Ivy 2.1.0
+ <a name="Apache Ivy 2.2.0"></a>
+ Apache Ivy 2.2.0
</h3>
- <h3>October 8, 2009 - Apache Ivy 2.1.0 Released</h3>
- <p>Apache Ivy 2.1.0 is now available for download as source or binary (with and without
+ <h3>September 30, 2010 - Apache Ivy 2.2.0 Released</h3>
+ <p>Apache Ivy 2.2.0 is now available for download as source or binary (with and without
dependencies) from
<a href="http://ant.apache.org/ivy/download.cgi">http://ant.apache.org/ivy/download.cgi</a>.</p>
- <p>Key features of the 2.1.0 release are</p>
+ <p>Key features of the 2.2.0 release are</p>
<ul>
<li>enhanced Maven2 compatibility, with several bug fixes and
more pom features covered</li>
- <li>new options for the Ivy Ant tasks and commandline</li>
- <li>configuration intersections and configuration groups</li>
+ <li>new parent mechanism for Ivy files</li>
+ <li>improved pom generation from an ivy.xml file</li>
+ <li>automated PGP signature generation when uploading artifacts</li>
<li>numerous bug fixes and improvements as documented in Jira
and in the release notes</li>
</ul>
<p>For more information see
the <a href="http://ant.apache.org/ivy/">Ivy home page</a>.</p>
<h3 class="section">
- <a name="AntUnit 1.1"></a>
- AntUnit 1.1
+ <a name="Apache Ant1.8.1"></a>
+ Apache Ant1.8.1
+ </h3>
+ <h3>May 7th, 2010 - Apache Ant 1.8.1 Released</h3>
+ <p>Apache Ant 1.8.1 is now available for download as source or binary (with and without
+ dependencies) from
+ <a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.</p>
+ <p>Key features of the 1.8.1 release are</p>
+ <ul>
+ <li>new task augment allows to add attributes or nested elements to previously defined references</li>
+ <li>numerous bug fixes and improvements as documented in Bugzilla
+ and in WHATSNEW</li>
+ </ul>
+ <h3 class="section">
+ <a name="Apache AntUnit 1.1"></a>
+ Apache AntUnit 1.1
</h3>
<h3>September 26, 2008 - Apache AntUnit 1.1 Released</h3>
- <p>Apache AntUnit 1.1 Beta is now available for download as <a href="http://ant.apache.org/antlibs/bindownload.cgi">binary</a>
+ <p>Apache AntUnit 1.1 is now available for download as <a href="http://ant.apache.org/antlibs/bindownload.cgi">binary</a>
or <a href="http://ant.apache.org/antlibs/srcdownload.cgi">source</a>
release.</p>
<p>In addition to a few bugfixes and some new assertions AntUnit
@@ -272,40 +284,11 @@
<p>For more information see the <a href="antlibs/antunit/">Antlib's
home page</a></p>
<h3 class="section">
- <a name="Apache Ant"></a>
- Apache Ant
- </h3>
- <p>
- Ant is a Java library and command-line tool.
- Ant's mission is to drive processes described in build files as targets
- and extension points dependent upon each other.
- The main known usage of Ant is the build of Java applications.
- Ant supplies a number of built-in tasks allowing to compile, assemble,
- test and run Java applications.
- Ant can also be used effectively to build non Java applications, for
- instance C or C++ applications. More generally, Ant can be used to
- pilot any type of process which can be described in terms of targets
- and tasks.
- </p>
- <p>
- Ant is written in Java. Users of Ant can develop their own
- "antlibs" containing Ant tasks and types, and are offered
- a large number of ready-made commercial or open-source "antlibs".
- </p>
- <p>
- Ant is extremely flexible and does not impose coding conventions or
- directory layouts to the Java projects which adopt it as a build tool.
- </p>
- <p>
- Software development projects looking for a solution combining build tool and
- dependency management can use Ant in combination with <a href="http://ant.apache.org/ivy/">Ivy</a>.
-</p>
- <h3 class="section">
<a name="Documentation"></a>
Documentation
</h3>
<p>
-You can view the documentation for the current release (Apache Ant 1.8.0)
+You can view the documentation for the current release (Apache Ant 1.8.1)
<a href="manual/index.html">online</a>
</p>
<p>
@@ -318,9 +301,9 @@ Comprehensive documentation is included
<ul>
<li><a href="http://jakarta.apache.org/getinvolved/getinvolvedindex.html">Get Involved</a></li>
<li><a href="mail.html">Join Mailing Lists</a></li>
-<li><a href="http://marc.theaimsgroup.com/?l=ant-dev&amp;r=1&amp;w=2">Search the Dev Mailing List</a>
+<li><a href="http://marc.info/?l=ant-dev&amp;r=1&amp;w=2">Search the Dev Mailing List</a>
</li>
-<li><a href="http://marc.theaimsgroup.com/?l=ant-user&amp;r=1&amp;w=2">Search the User Mailing List</a>
+<li><a href="http://marc.info/?l=ant-user&amp;r=1&amp;w=2">Search the User Mailing List</a>
</li>
</ul>

@@ -328,6 +311,7 @@ Comprehensive documentation is included
</div>

<p class="copyright">
+ Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
<script type="text/javascript" language="JavaScript"><!--
document.write(" - "+"Last Published: " + document.lastModified);
// -->

Modified: ant/core/branches/ANT_SITE/docs/legal.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/legal.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/legal.html (original)
+++ ant/core/branches/ANT_SITE/docs/legal.html Mon Dec 13 18:34:00 2010
@@ -99,7 +99,7 @@
<a href="./index.html">Welcome</a>
</li>
<li>
- <a href="./license.html">License</a>
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
</li>
<li>
<a href="./antnews.html">News</a>
@@ -139,6 +139,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +158,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +171,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -204,9 +207,12 @@
</h3>
<p>All material on this website is Copyright © 1999-2010,
The Apache Software Foundation.</p>
+ <p>Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather
+ logo, and the Apache Ant project logos are trademarks of The
+ Apache Software Foundation.</p>
<p>Sun, Sun Microsystems, Solaris, Java, JavaServer Web
Development Kit, and JavaServer Pages are trademarks or
- registered trademarks of Sun Microsystems, Inc. UNIX is a
+ registered trademarks of Oracle Corporation. UNIX is a
registered trademark in the United States and other countries,
exclusively licensed through X/Open Company, Ltd. Windows,
WindowsNT, and Win32 are registered trademarks of Microsoft
@@ -218,6 +224,7 @@
</div>

<p class="copyright">
+ Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
<script type="text/javascript" language="JavaScript"><!--
document.write(" - "+"Last Published: " + document.lastModified);
// -->

Modified: ant/core/branches/ANT_SITE/docs/license.html
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/license.html?rev=1045279&r1=1045278&r2=1045279&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/docs/license.html (original)
+++ ant/core/branches/ANT_SITE/docs/license.html Mon Dec 13 18:34:00 2010
@@ -139,6 +139,9 @@
<li>
<a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
</li>
+ <li>
+ <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
+ </li>
</ul>
</li>
<li class="menuheader">Contributing
@@ -155,6 +158,9 @@
<li>
<a href="./bugs.html">Bug Database</a>
</li>
+ <li>
+ <a href="http://www.apache.org/security/">Security</a>
+ </li>
</ul>
</li>
<li class="menuheader">Sponsorship
@@ -165,9 +171,6 @@
<li>
<a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
- <li>
- <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
- </li>
</ul>
</li>
<li class="menuheader">Project Management
@@ -203,7 +206,7 @@
The Apache License Version 2.0
</h3>
<p>The Apache License Version 2.0 applies
- to all releases of Ant starting with ant 1.6.1</p>
+ to all releases of Apache Ant starting with Ant 1.6.1</p>
<pre class="code">/*
* Apache License
* Version 2.0, January 2004
@@ -436,7 +439,7 @@
<a name="The Apache Software License, Version 1.1"></a>
The Apache Software License, Version 1.1
</h3>
- <p> The Apache Software License, Version 1.1, applies to all versions of up to ant 1.6.0 included.</p>
+ <p> The Apache Software License, Version 1.1, applies to all versions of up to Apache Ant 1.6.0 included.</p>
<pre class="code">/*
* ============================================================================
* The Apache Software License, Version 1.1
reply

Search Discussions

8 responses

  • Antoine at Dec 13, 2010 at 6:34 pm
    Author: antoine
    Date: Mon Dec 13 18:34:00 2010
    New Revision: 1045279

    URL: http://svn.apache.org/viewvc?rev=1045279&view=rev
    Log:
    merging from trunk to ANT_SITE branch

    Added:
    ant/core/branches/ANT_SITE/docs/manual/Tasks/
    - copied from r1045116, ant/core/trunk/docs/manual/Tasks/
    ant/core/branches/ANT_SITE/docs/manual/Types/
    - copied from r1045116, ant/core/trunk/docs/manual/Types/
    ant/core/branches/ANT_SITE/lib/optional/junit-3.8.2.jar
    - copied unchanged from r1045116, ant/core/trunk/lib/optional/junit-3.8.2.jar
    ant/core/branches/ANT_SITE/release/
    - copied from r1045116, ant/core/trunk/release/
    ant/core/branches/ANT_SITE/src/etc/poms/ant-junit4/
    - copied from r1045116, ant/core/trunk/src/etc/poms/ant-junit4/
    ant/core/branches/ANT_SITE/src/tests/antunit/core/projecthelpers/
    - copied from r1045116, ant/core/trunk/src/tests/antunit/core/projecthelpers/
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/BatchTestTest.java
    - copied unchanged from r1045116, ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/BatchTestTest.java
    Removed:
    ant/core/branches/ANT_SITE/docs/manual/CoreTasks/
    ant/core/branches/ANT_SITE/docs/manual/CoreTypes/
    ant/core/branches/ANT_SITE/docs/manual/OptionalTasks/
    ant/core/branches/ANT_SITE/docs/manual/OptionalTypes/
    ant/core/branches/ANT_SITE/docs/manual/coretasklist.html
    ant/core/branches/ANT_SITE/docs/manual/optionaltasklist.html
    ant/core/branches/ANT_SITE/src/etc/poms/ant-nodeps/
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#checkoutlist
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#commitinfo
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#config
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#cvswrappers
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#loginfo
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#modules
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#notify
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#postadmin
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#postproxy
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#posttag
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#postwatch
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#preproxy
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#rcsinfo
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#taginfo
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/cvs/repository/CVSROOT/.#verifymsg
    Modified:
    ant/core/branches/ANT_SITE/ (props changed)
    ant/core/branches/ANT_SITE/CONTRIBUTORS (contents, props changed)
    ant/core/branches/ANT_SITE/KEYS
    ant/core/branches/ANT_SITE/ReleaseInstructions
    ant/core/branches/ANT_SITE/STATUS
    ant/core/branches/ANT_SITE/WHATSNEW
    ant/core/branches/ANT_SITE/build.xml
    ant/core/branches/ANT_SITE/check.xml
    ant/core/branches/ANT_SITE/contributors.xml
    ant/core/branches/ANT_SITE/doap_Ant.rdf
    ant/core/branches/ANT_SITE/docs/ant_in_anger.html
    ant/core/branches/ANT_SITE/docs/ant_task_guidelines.html
    ant/core/branches/ANT_SITE/docs/antlibs/antunit/index.html
    ant/core/branches/ANT_SITE/docs/antlibs/bindownload.html
    ant/core/branches/ANT_SITE/docs/antlibs/charter.html
    ant/core/branches/ANT_SITE/docs/antlibs/compress/index.html
    ant/core/branches/ANT_SITE/docs/antlibs/dotnet/index.html
    ant/core/branches/ANT_SITE/docs/antlibs/index.html
    ant/core/branches/ANT_SITE/docs/antlibs/proper.html
    ant/core/branches/ANT_SITE/docs/antlibs/props/index.html
    ant/core/branches/ANT_SITE/docs/antlibs/sandbox.html
    ant/core/branches/ANT_SITE/docs/antlibs/srcdownload.html
    ant/core/branches/ANT_SITE/docs/antlibs/svn/index.html
    ant/core/branches/ANT_SITE/docs/antnews.html
    ant/core/branches/ANT_SITE/docs/bindownload.html
    ant/core/branches/ANT_SITE/docs/bugs.html
    ant/core/branches/ANT_SITE/docs/bylaws.html
    ant/core/branches/ANT_SITE/docs/contributors.html
    ant/core/branches/ANT_SITE/docs/external.html (contents, props changed)
    ant/core/branches/ANT_SITE/docs/faq.html
    ant/core/branches/ANT_SITE/docs/index.html
    ant/core/branches/ANT_SITE/docs/legal.html
    ant/core/branches/ANT_SITE/docs/license.html
    ant/core/branches/ANT_SITE/docs/mail.html
    ant/core/branches/ANT_SITE/docs/manual/Integration/jext-plugin.html
    ant/core/branches/ANT_SITE/docs/manual/antexternal.html
    ant/core/branches/ANT_SITE/docs/manual/anttaskslist.html
    ant/core/branches/ANT_SITE/docs/manual/api/index.html
    ant/core/branches/ANT_SITE/docs/manual/clonevm.html
    ant/core/branches/ANT_SITE/docs/manual/conceptstypeslist.html
    ant/core/branches/ANT_SITE/docs/manual/cover.html
    ant/core/branches/ANT_SITE/docs/manual/credits.html
    ant/core/branches/ANT_SITE/docs/manual/develop.html
    ant/core/branches/ANT_SITE/docs/manual/developlist.html
    ant/core/branches/ANT_SITE/docs/manual/dirtasks.html
    ant/core/branches/ANT_SITE/docs/manual/feedback.html
    ant/core/branches/ANT_SITE/docs/manual/ide.html
    ant/core/branches/ANT_SITE/docs/manual/index.html
    ant/core/branches/ANT_SITE/docs/manual/inputhandler.html
    ant/core/branches/ANT_SITE/docs/manual/install.html
    ant/core/branches/ANT_SITE/docs/manual/installlist.html
    ant/core/branches/ANT_SITE/docs/manual/javacprops.html
    ant/core/branches/ANT_SITE/docs/manual/listeners.html
    ant/core/branches/ANT_SITE/docs/manual/platform.html
    ant/core/branches/ANT_SITE/docs/manual/projecthelper.html
    ant/core/branches/ANT_SITE/docs/manual/properties.html
    ant/core/branches/ANT_SITE/docs/manual/proxy.html
    ant/core/branches/ANT_SITE/docs/manual/running.html
    ant/core/branches/ANT_SITE/docs/manual/runninglist.html
    ant/core/branches/ANT_SITE/docs/manual/sysclasspath.html
    ant/core/branches/ANT_SITE/docs/manual/targets.html
    ant/core/branches/ANT_SITE/docs/manual/tasksoverview.html
    ant/core/branches/ANT_SITE/docs/manual/toc.html
    ant/core/branches/ANT_SITE/docs/manual/tutorial-HelloWorldWithAnt.html
    ant/core/branches/ANT_SITE/docs/manual/tutorial-tasks-filesets-properties.html
    ant/core/branches/ANT_SITE/docs/manual/tutorial-writing-tasks.html
    ant/core/branches/ANT_SITE/docs/manual/tutorials.html
    ant/core/branches/ANT_SITE/docs/manual/using.html
    ant/core/branches/ANT_SITE/docs/manual/usinglist.html
    ant/core/branches/ANT_SITE/docs/mission.html
    ant/core/branches/ANT_SITE/docs/nightlies.html
    ant/core/branches/ANT_SITE/docs/problems.html
    ant/core/branches/ANT_SITE/docs/projects.html
    ant/core/branches/ANT_SITE/docs/projects/index.html
    ant/core/branches/ANT_SITE/docs/projects/ivy.html
    ant/core/branches/ANT_SITE/docs/projects/ivyde.html
    ant/core/branches/ANT_SITE/docs/resources.html
    ant/core/branches/ANT_SITE/docs/srcdownload.html
    ant/core/branches/ANT_SITE/docs/svn.html
    ant/core/branches/ANT_SITE/fetch.xml
    ant/core/branches/ANT_SITE/lib/libraries.properties
    ant/core/branches/ANT_SITE/lib/optional/ (props changed)
    ant/core/branches/ANT_SITE/lib/optional/README
    ant/core/branches/ANT_SITE/release.sh
    ant/core/branches/ANT_SITE/src/etc/junit-frames-xalan1.xsl
    ant/core/branches/ANT_SITE/src/etc/junit-frames.xsl
    ant/core/branches/ANT_SITE/src/etc/junit-noframes.xsl
    ant/core/branches/ANT_SITE/src/etc/poms/README.txt
    ant/core/branches/ANT_SITE/src/etc/poms/ant-antlr/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bcel/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bsf/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-log4j/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-oro/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-regexp/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-resolver/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-xalan2/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-logging/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-net/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-jai/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-javamail/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-jdepend/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-jmf/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-jsch/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-junit/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-launcher/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-netrexx/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-swing/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant-testutil/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/ant/pom.xml
    ant/core/branches/ANT_SITE/src/etc/poms/pom.xml
    ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/concat.xml
    ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/conditions/antversion.xml
    ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/optional/junit.xml
    ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/signjar.xml
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ComponentHelper.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DemuxInputStream.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Diagnostics.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DirectoryScanner.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Main.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Project.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelper.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelperRepository.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Target.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Task.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/UnknownElement.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/TokenFilter.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelper2.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/input/GreedyInputHandler.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/launch/Locator.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/loader/AntClassLoader5.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/property/ResolvePropertyMap.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Checksum.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Concat.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Copy.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Delete.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Echo.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Execute.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Get.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/HostInfo.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ImportTask.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Jar.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Java.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Javac.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ManifestClassPath.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Mkdir.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Move.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Parallel.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Property.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Redirector.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Replace.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/SignJar.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Zip.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/condition/Matches.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/defaults.properties
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Message.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirror.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTask.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/AbstractFileSet.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/Path.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/ZipScanner.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/defaults.properties
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/FileResource.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Resources.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Restrict.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/selectors/Name.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/DOMElementWriter.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/FileUtils.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/FirstMatchMapper.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/JavaEnvUtils.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/RegexpPatternMapper.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/ResourceUtils.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/StringUtils.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/SymbolicLinkUtils.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/VectorSet.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/util/regexp/RegexpUtil.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/bzip2/CBZip2InputStream.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/tar/TarBuffer.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/tar/TarEntry.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/tar/TarOutputStream.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/AbstractUnicodeExtraField.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ExtraFieldUtils.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/FallbackZipEncoding.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/NioZipEncoding.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/UnicodeCommentExtraField.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/UnicodePathExtraField.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/UnparseableExtraFieldData.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/UnrecognizedExtraField.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipEncoding.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipEncodingHelper.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipEntry.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipFile.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipLong.java
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipOutputStream.java (props changed)
    ant/core/branches/ANT_SITE/src/main/org/apache/tools/zip/ZipUtil.java (props changed)
    ant/core/branches/ANT_SITE/src/script/ant.bat
    ant/core/branches/ANT_SITE/src/script/runant.py
    ant/core/branches/ANT_SITE/src/tests/antunit/antunit-base.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/core/extension-point-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/checksum-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/copy-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/delete-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/exec/apply-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/exec/expected/utf-8 (props changed)
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/exec/input/iso8859-1 (props changed)
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/hostinfo-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/jar-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/move-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/optional/junit/junit-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/optional/junit/xmlformatter-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/optional/propertyfilelayout-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/property-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/secure-input.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/taskdefs/zip-test.xml
    ant/core/branches/ANT_SITE/src/tests/antunit/types/path-test.xml
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/AntClassLoaderDelegationTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/DefaultLoggerTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/BZip2Test.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ConcatTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/DefaultExcludesTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/MakeUrlTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/SQLExecTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/SignJarTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/StyleTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/condition/HttpTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestListenerTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunnerTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/splash/SplashScreenTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/DateSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/DependSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/DepthSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/FilenameSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/ModifiedSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/PresentSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/SizeSelectorTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/util/DOMElementWriterTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/util/LineOrientedOutputStreamTest.java
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ (props changed)
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/UTF8ZipFilesTest.java (contents, props changed)
    ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ZipEntryTest.java (props changed)
    ant/core/branches/ANT_SITE/xdocs/antlibs/antunit/index.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/bindownload.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/charter.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/compress/index.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/dotnet/index.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/index.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/proper.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/props/index.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/sandbox.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/srcdownload.xml
    ant/core/branches/ANT_SITE/xdocs/antlibs/svn/index.xml
    ant/core/branches/ANT_SITE/xdocs/antnews.xml
    ant/core/branches/ANT_SITE/xdocs/bindownload.xml
    ant/core/branches/ANT_SITE/xdocs/bugs.xml
    ant/core/branches/ANT_SITE/xdocs/bylaws.xml
    ant/core/branches/ANT_SITE/xdocs/external.xml
    ant/core/branches/ANT_SITE/xdocs/faq.xml
    ant/core/branches/ANT_SITE/xdocs/index.xml
    ant/core/branches/ANT_SITE/xdocs/legal.xml
    ant/core/branches/ANT_SITE/xdocs/license.xml
    ant/core/branches/ANT_SITE/xdocs/mail.xml
    ant/core/branches/ANT_SITE/xdocs/mission.xml
    ant/core/branches/ANT_SITE/xdocs/nightlies.xml
    ant/core/branches/ANT_SITE/xdocs/problems.xml
    ant/core/branches/ANT_SITE/xdocs/projects.xml
    ant/core/branches/ANT_SITE/xdocs/projects/index.xml
    ant/core/branches/ANT_SITE/xdocs/projects/ivy.xml
    ant/core/branches/ANT_SITE/xdocs/projects/ivyde.xml
    ant/core/branches/ANT_SITE/xdocs/resources.xml
    ant/core/branches/ANT_SITE/xdocs/srcdownload.xml
    ant/core/branches/ANT_SITE/xdocs/stylesheets/project.xml
    ant/core/branches/ANT_SITE/xdocs/stylesheets/site.vsl
    ant/core/branches/ANT_SITE/xdocs/stylesheets/templates.vm

    Propchange: ant/core/branches/ANT_SITE/
    ------------------------------------------------------------------------------
    --- svn:ignore (original)
    +++ svn:ignore Mon Dec 13 18:34:00 2010
    @@ -1,15 +1,17 @@
    -.ant.properties
    -dist
    -build
    -bootstrap
    -distribution
    *.el
    *.ipr
    *.iws
    *.pif
    -velocity.log*
    -patch.txt
    -patch.tar.gz
    +.ant.properties
    .classpath
    .project
    apache-ant-1.*
    +bootstrap
    +build
    +dist
    +distribution
    +java-repository
    +patch.tar.gz
    +patch.txt
    +target
    +velocity.log*

    Propchange: ant/core/branches/ANT_SITE/
    ------------------------------------------------------------------------------
    --- svn:mergeinfo (original)
    +++ svn:mergeinfo Mon Dec 13 18:34:00 2010
    @@ -1 +1 @@
    -/ant/core/trunk:904538-939797
    +/ant/core/trunk:904538-939797,939803-1045116

    Modified: ant/core/branches/ANT_SITE/CONTRIBUTORS
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/CONTRIBUTORS?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    Binary files - no diff available.

    Propchange: ant/core/branches/ANT_SITE/CONTRIBUTORS
    ------------------------------------------------------------------------------
    svn:eol-style = native

    Propchange: ant/core/branches/ANT_SITE/CONTRIBUTORS
    ('svn:mime-type' removed)

    Modified: ant/core/branches/ANT_SITE/KEYS
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/KEYS?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/KEYS (original)
    +++ ant/core/branches/ANT_SITE/KEYS Mon Dec 13 18:34:00 2010
    @@ -174,46 +174,6 @@ o+d57fYsNa8xAJ4mLfonZbd64+YY9rfvhIh3Vsl3
    hzSr4vo=
    =lBfF
    -----END PGP PUBLIC KEY BLOCK-----
    -pub 1024D/265B4C63 2003-08-18 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    -sig 3 265B4C63 2003-12-06 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    -sig 3 5F6B8B72 2003-12-12 Stefan Bodewig <bodewig@apache.org>
    -uid Antoine Levy-Lambert (Apache Ant Committer) <antoine@antbuild.com>
    -sig 3 265B4C63 2003-08-18 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    -sig 3 5F6B8B72 2003-12-12 Stefan Bodewig <bodewig@apache.org>
    -sub 1024g/A3060393 2003-08-18
    -sig 265B4C63 2003-08-18 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    -
    ------BEGIN PGP PUBLIC KEY BLOCK-----
    -Version: GnuPG v1.2.2 (MingW32)
    -
    -mQGiBD9AzmcRBACMqgb7IFvC/nLxw7mUAgHENeZXY3JOQJ8wVBevIbbMEeFvzHE2
    -diFydqUXocPexduYr0ahkf033WvWdAiNqDLfVW/HFOsc1TpjbHkqPUHtJ62Ya5tg
    -nH4UGN9BYZfMbfVDOSz41lYwmfK5HYgpZN/sBQBSKf2qgoFB+LxYaae8YwCgrWlu
    -fYhf7fkKbbdSf3BGS67ggNkD/0VvkXkw1SEnPaqrkKGkPKomCTb2auGxcYYI3/rP
    -1m+SGRf0gE1NtocmIEitiR6WvfKUjoMAXSCp5KdnUXmO9rwzkM002KCA7K5CY+e/
    -2bLDuiQ3rNiD4mFfG6M+UnmZ+GMFba1p9Cp4PqLNLsCHz67t7hEsscTZQ8mZ9xKM
    -+GCsA/9P+XFM7JDn9MLhYab9qo1CkceBkthUP6jWGjuAZ00elmBCkpkzNv5aIzss
    -xih2GpaU/tmcMjw8FGp0dTwzqdpmbZBLjunRnuBTir4m4l5G9rwl4JbfK1PVqk4a
    -VKkh9W7/yqBcEfNcsfJO9cqaQ+PzcnCoDiD9UHEBYzUhrCKwhLRCQW50b2luZSBM
    -ZXZ5LUxhbWJlcnQgKEFwYWNoZSBBbnQgQ29tbWl0dGVyKSA8YW50b2luZUBhbnRi
    -dWlsZC5jb20+iFsEExECABsFAj9AzmcGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ
    -hhTWqyZbTGMnOgCeJV2gI+1CIxMR7dcIhXjPkiusreIAn2SGOsPS0o89l0EIVuc9
    -J2F03aB+iEYEExECAAYFAj/ZwioACgkQohFa4V9ri3J8CACgiGlh+td0BAnJPq19
    -ovEQR2DJ02MAoLP203EF+BLPpykeTcGp8UEWmeGQtEBBbnRvaW5lIExldnktTGFt
    -YmVydCAoQXBhY2hlIEFudCBDb21taXR0ZXIpIDxhbnRvaW5lQGFwYWNoZS5vcmc+
    -iF4EExECAB4FAj/SSwYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQhhTWqyZb
    -TGOh/QCfbrSoipMlizyGT6c8BOPEd9zzfi0AnRRTqTDzXzsGk4CG/BJME9CCm7Ts
    -iEYEExECAAYFAj/ZwiMACgkQohFa4V9ri3IOVACgh2QHS1+cVjvM4eLjls1bJwWi
    -o5IAoLtAszHrwHS5qrhvr2rtnlyyyV2guQENBD9AzmkQBACNpBfqi2PweozCtxoX
    -PqzKdRDKqCw7TOrDR6lbP3z/ov/1SN5Vc0XqNzBSGqwBcmGWtneABkX7n4uzJrC5
    -wvX/TZ/DkMvypPyeNVMu+/ZMlzdbx06OUDKr6Fy/NtaI7cN1rw+Igyv22Q8ilhhg
    -s/5Rdj84EtJkWQjVRml6wXSAZwADBwP/TqyhOC4sA5YrePYGH8i46h0SU9dXjfEF
    -JijC8vXZ+BNQHQVK3fjEXedZL8Zvvp1bsMu7Muz9SMnqygM1unp2NGxLRd/9315p
    -Qh0VStYKn0xq13ybOKr0Gsyx5yyl3Nzlu/1qAR0es/zN4jV7/IQi3R2GOvezcpHX
    -mkbsYiZAhu2IRgQYEQIABgUCP0DOaQAKCRCGFNarJltMYxcsAKCSJJUABlXYnLBj
    -b+WtmAzu0JjZNACdFJ4KIATJDK/5ajFq5+irOpodoHc=
    -=UomR
    ------END PGP PUBLIC KEY BLOCK-----

    pub 1024D/5F6B8B72 2001-05-28
    uid Stefan Bodewig <bodewig@apache.org>
    @@ -1246,3 +1206,193 @@ iNoi9D8jtudc46l1OASP7n9e+WQDCd/IwwsUXHqT
    udvp
    =oSat
    -----END PGP PUBLIC KEY BLOCK-----
    +pub 1024D/265B4C63 2003-08-18
    +uid Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    +sig 3 265B4C63 2003-12-06 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    +sig 3 5F6B8B72 2003-12-12 Stefan Bodewig <bodewig@apache.org>
    +uid Antoine Levy-Lambert (Apache Ant Committer) <antoine@antbuild.com>
    +sig 3 265B4C63 2003-08-18 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    +sig 3 5F6B8B72 2003-12-12 Stefan Bodewig <bodewig@apache.org>
    +sub 1024g/A3060393 2003-08-18
    +sig 265B4C63 2003-08-18 Antoine Levy-Lambert (Apache Ant Committer) <antoine@apache.org>
    +
    +pub 4096R/710038F5 2010-11-02
    +uid Antoine Levy-Lambert (CODE SIGNING KEY) <antoine@apache.org>
    +sig 3 710038F5 2010-11-02 Antoine Levy-Lambert (CODE SIGNING KEY) <antoine@apache.org>
    +sub 4096R/84F32FDC 2010-11-02
    +sig 710038F5 2010-11-02 Antoine Levy-Lambert (CODE SIGNING KEY) <antoine@apache.org>
    +
    +pub 4096R/82A7FBCD 2010-11-02
    +uid Antoine Levy-Lambert (CODE SIGNING KEY) <antoine@apache.org>
    +sig 3 82A7FBCD 2010-11-02 Antoine Levy-Lambert (CODE SIGNING KEY) <antoine@apache.org>
    +sig 62B2963F 2010-11-04 Dan Poirier <dan@poirier.us>
    +sig 7C408737 2010-11-04 Joseph Edward Bergmark (CODE SIGNING KEY) <bergmark@apache.org>
    +sig 02E9F65B 2010-11-04 Luc Maisonobe <Luc.Maisonobe@c-s.fr>
    +sig EFB55DF1 2010-11-05 Luciano Resende (Code Signing Key) <lresende@apache.org>
    +sub 4096R/70EC4C9A 2010-11-02
    +sig 82A7FBCD 2010-11-02 Antoine Levy-Lambert (CODE SIGNING KEY) <antoine@apache.org>
    +
    +-----BEGIN PGP PUBLIC KEY BLOCK-----
    +Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
    +
    +mQGiBD9AzmcRBACMqgb7IFvC/nLxw7mUAgHENeZXY3JOQJ8wVBevIbbMEeFvzHE2
    +diFydqUXocPexduYr0ahkf033WvWdAiNqDLfVW/HFOsc1TpjbHkqPUHtJ62Ya5tg
    +nH4UGN9BYZfMbfVDOSz41lYwmfK5HYgpZN/sBQBSKf2qgoFB+LxYaae8YwCgrWlu
    +fYhf7fkKbbdSf3BGS67ggNkD/0VvkXkw1SEnPaqrkKGkPKomCTb2auGxcYYI3/rP
    +1m+SGRf0gE1NtocmIEitiR6WvfKUjoMAXSCp5KdnUXmO9rwzkM002KCA7K5CY+e/
    +2bLDuiQ3rNiD4mFfG6M+UnmZ+GMFba1p9Cp4PqLNLsCHz67t7hEsscTZQ8mZ9xKM
    ++GCsA/9P+XFM7JDn9MLhYab9qo1CkceBkthUP6jWGjuAZ00elmBCkpkzNv5aIzss
    +xih2GpaU/tmcMjw8FGp0dTwzqdpmbZBLjunRnuBTir4m4l5G9rwl4JbfK1PVqk4a
    +VKkh9W7/yqBcEfNcsfJO9cqaQ+PzcnCoDiD9UHEBYzUhrCKwhLRCQW50b2luZSBM
    +ZXZ5LUxhbWJlcnQgKEFwYWNoZSBBbnQgQ29tbWl0dGVyKSA8YW50b2luZUBhbnRi
    +dWlsZC5jb20+iFsEExECABsFAj9AzmcGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ
    +hhTWqyZbTGMnOgCeJV2gI+1CIxMR7dcIhXjPkiusreIAn2SGOsPS0o89l0EIVuc9
    +J2F03aB+iEYEExECAAYFAj/ZwioACgkQohFa4V9ri3J8CACgiGlh+td0BAnJPq19
    +ovEQR2DJ02MAoLP203EF+BLPpykeTcGp8UEWmeGQtEBBbnRvaW5lIExldnktTGFt
    +YmVydCAoQXBhY2hlIEFudCBDb21taXR0ZXIpIDxhbnRvaW5lQGFwYWNoZS5vcmc+
    +iF4EExECAB4FAj/SSwYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQhhTWqyZb
    +TGOh/QCfbrSoipMlizyGT6c8BOPEd9zzfi0AnRRTqTDzXzsGk4CG/BJME9CCm7Ts
    +iEYEExECAAYFAj/ZwiMACgkQohFa4V9ri3IOVACgh2QHS1+cVjvM4eLjls1bJwWi
    +o5IAoLtAszHrwHS5qrhvr2rtnlyyyV2guQENBD9AzmkQBACNpBfqi2PweozCtxoX
    +PqzKdRDKqCw7TOrDR6lbP3z/ov/1SN5Vc0XqNzBSGqwBcmGWtneABkX7n4uzJrC5
    +wvX/TZ/DkMvypPyeNVMu+/ZMlzdbx06OUDKr6Fy/NtaI7cN1rw+Igyv22Q8ilhhg
    +s/5Rdj84EtJkWQjVRml6wXSAZwADBwP/TqyhOC4sA5YrePYGH8i46h0SU9dXjfEF
    +JijC8vXZ+BNQHQVK3fjEXedZL8Zvvp1bsMu7Muz9SMnqygM1unp2NGxLRd/9315p
    +Qh0VStYKn0xq13ybOKr0Gsyx5yyl3Nzlu/1qAR0es/zN4jV7/IQi3R2GOvezcpHX
    +mkbsYiZAhu2IRgQYEQIABgUCP0DOaQAKCRCGFNarJltMYxcsAKCSJJUABlXYnLBj
    +b+WtmAzu0JjZNACdFJ4KIATJDK/5ajFq5+irOpodoHeZAg0ETM+HJwEQAMkzgJCo
    +lSOgkvzsTcjy/4ySwS56VgyFdYpZis8QqbEGCe8xKT+d9FYi5sBTw/jGpIy4weig
    +NKRRW4NLYgriWJANksBaaPOKvczGAOLWzh2aPfifaGF/puIVT8yCubH6ecxr0Wy/
    +lN54Rpi7cmpp+CEbhUTR+7xNGCMt3f9brtOlC6qYN3tJ7PPcfNBjJr0Ts+fPt8lT
    +RZlBhVa9iEUVYoqMnZQEBmYkg+FxSrFlLw7/WLMKaKGHAV7QbpIxhaDvQ7bMM6qW
    +c4plt10+wtZtJV3MB6TIRSYaEF87hXCif7mJY8KkCN8XkAxFlQhqEY/gJTOs73DS
    +Z5+LJKUOF+0+66B31tN5gQq5yNBGd55OEA9iOM87hhQb4e0IuZGvq2vxxK1OL6Q5
    +apr141c0ZxHLKaG2YCqM0B42mW84V2mO/Xu25HUjmXGrkpEd61KaodffS5g7SWj3
    +jb0X1w/+QGQXnWdTPWuWu/SrpnJb9kBpk/awrBbh6/gz9Uug6WVw3jBaYvfm2gEf
    +eKVYXa8AtBDSDuytXSXCSNRKY6Hd27ohUKMRBLEtz6Z+WgTKS11u9ip6ewG9irtk
    +cJQmloGjgaQTLmTXJaZ9UkaEh8uH/LinhIDHk+ilht7z2+CN7S3kOX094v1AnvlA
    +OchoDd7Wn1KqSoiM6WO5pccPdnU/j4LSoeVDABEBAAG0PEFudG9pbmUgTGV2eS1M
    +YW1iZXJ0IChDT0RFIFNJR05JTkcgS0VZKSA8YW50b2luZUBhcGFjaGUub3JnPokC
    +OAQTAQIAIgUCTM+HJwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQDmn4
    +CXEAOPVsEQ//Vv4CTUrXTvuaPTNR1x08nntcF5RY+2GGNlT5Cs6EzRbiB3GmKFKu
    +Qxp0Ucgr+Yg1NTa7jOP2TbMwo8/FCD6i/Q5pWTISs7CdahnqKx37a33F1Hz1bNqV
    +0Jhi5oJS/sVniYG0d4ZcUl5FkD/gDXgNbUDaB1Vi3I9bU+agwrsLoXrFWDpDPxrg
    +PGDV3grvqfEp7K2HvPl2B6mUQHYHbIZ9FgjRLRIjOzjMr33RkVtg2QrLaUiOlJ3r
    +i0xpWf2kMKDMej6M3vFP7PTacRHwqZMxZMWZ2WaviuC943pK0gWwUyJgkkYSrfql
    +LkzIq3DwKPUneuuInNS4bab8YjwuGYSd/Fnj11P8emTEHwkIIKFyH0LxO2JKw8tV
    +BosgExmS39P99tGjAOp4Qg1E00exl2mxtIiKI359DS3DYhjEhb5EDH1gVAh5GL2s
    +Y/NiI4VANomiuzkzCybVYaMwjRpaIkCKemXN0BXb8r7e3CLXn4BA3KHIpuZH4Yz7
    +I6RpVuyTOrayM62czy9mxF64Pnwp0gRUJhWC3a2BTYXV5vAtW89BrFB7ArENUKGd
    +q81lUXVocAk/1LnMxy5fveS5yuUMxPM0fRBwzgARfyv+0HdsjzVmKZZKfjKPOjB5
    +YWtOFtdFSdCzYnpIGyoPuUU34v8LuzRwMdBDrODb5LfvX3lMw7YvIkq5Ag0ETM+H
    +JwEQANOvLBAACFpbL82gr5fP0xfL/fG+oSrAqumUsXmxnCcxHOzDoEvExxebVnL+
    +102IXIMV3eQqEaZuqcUYGBjkMt216u5btuSoSsVDrwRI8T3/9fXsB/jdvlCzsq7b
    +pImEFh7VDQc/jC21pP7r1G81Tt7zWB8oWYBbGXJMGsacaNg6449Z/0Ctp+gi+T5L
    +jIq1b9apD/+ucg9kGdlKFlLJ8zMwc77hG3LWkoli1cbLgYKk4RKahboFmoEVnM9S
    +ypdFfDZuSCB+7PvitjfqEao+fOCYOG0b3ykdcYXSVitFSnHe9T1DLjvKBy9qMtbA
    +GkdD61xEl0MtifQxKkya/n2Fg438HUeU7ltcFLlKd4XAzmsh9PXy2Gpj/lbNYpsD
    +DDMZafyfFfkLYYZasN4/+Ak+f5T1OuUqByIlesAPGReFtnUI+yXM9qEImProy+R5
    +gNkBPN1AnNWvy2pi+ZUUI+35NW49uee35p5LNzMiP3hd2W+rDHWhE9y3oVFkpzbL
    +lXwF7AMQGtMNE6i82XfahDyiMRo9BzssTSdYc1+5OO+5buXWuZUibYmGc5yDQ6qv
    +0Yhlry4uoBMLJQcVCMkFh/os0gB4hgzI/MkhuEIYIBZcjGTzIzeGnB+0hB3ODiqt
    +LmrR2IiK56EkJ+UGfQ6Niankx+1M+OtSFXc9oWP4RacT8yaZABEBAAGJAh8EGAEC
    +AAkFAkzPhycCGwwACgkQDmn4CXEAOPW/3w//Wd3DfhQTXa1LoenNuuALnF9zIJQr
    +scLXc9HRO41x+0oCxi+ePDhCSiTWKWA4t74PsgLurdwXnQlcFU8rdSeWSalnO0gr
    +f0Rs+OHl4ICK3AWAgzZjFDh4J5Pyr7fVteGlUlKRgCCy/rGMwwSnCGLQYa9W1/ZE
    +KYZzLvFk0S/AoSv2iw6BxWUYVZVO7EzRzLoauLXQX6HyFyTpaH2soYbs1Xnp8t/u
    +w47PDnWXpYAaM0P1pD0T6krYp3M8YdNySGiXaZTkHBP2bj0PllGQHB/RjOyUrv95
    +USYZj60O430OyvjlIBDq+BBL/ZLEbMdUIFJJ6WO1F1nIr8MowpTNqeEBpEaqOY6A
    +lV0j9fZWX2qJKIxQayq5OjfWL6Y7juJUuDBBZUzPtKSmcwGtg3HsCL0SWoz8JT4p
    +hPOXy4Zk1NMn4F4oIwRrGrcB2lmBaQmoBWBP63g5rObADL0wsyabfYuVRTE7PoSg
    +iCEN7wONrFjXrpB+WWG36d8nrETyMKALr96YL+1T4VNs0sllYbrkowRe2ioMKj9r
    +t61UPOGhPekw0HA7pDS1n+nGMMU+efLKKCvcKFKq/TDdjK2jPg1JQ1Xq8O4fDwRf
    +ibUXyvYwswAqOqQ0nHH5QSj9pov3tsXhJWWDVIWKMFhk+U1Sans9txHEQKJl8L5k
    +KiqgPxg3Tk50+6aZAg0ETM+LbwEQAN5ZRgD4sZJ6ClxoWjlmMM1c9632/isnzXJM
    +unkZeCA3gjx++uhZexCdSD36aQZ7dAFSwvrJLHRrjsszl/uc1H7FaBmkZ7E8sjNI
    +/oulUtMhcLe0TYy6MRSdl8aBqll4slZNfcl7iYk4PCmk2eR4sdMPMEsQC2kcglDW
    +HDeJfG0RozFgJ46QVRCktRWTrrACQcvuHLizl0+4nMZ76yexNre7Rrgo6kE5Mapl
    +0UXog6qM9ngV5cVxh2/wDex5fmXvB9uNTusEQIFo8qaZPBtapAAeoIShyUWispqi
    +kos5t410OzlGfBHsDb0cq4SU44bAXJmkZv/95JECEy8mZjsbywU4MCDjAf1lC4d9
    +K7lcwHQS9rE2Xw1suXfD/VjQy9obpLLROk1DGLJC0aige0BbhMOa+mXgKVzSKcKv
    +PdmcUHcdm0dIy/LYZhC9Ja0uv37Sc9Ri55k3DU6DgdBu2dZgy7q9bBzLpqPIyTPs
    +XxUlczjhT6KxZYDeyghbwJYQ+miasY2VHeY9aZHYXXhDHIo2eEaut1y/9a7i4auA
    +aYnaADj/gmryBm6rb+r/MIMbfZ5htB4l6aoI/8BJygzq38LrWwUvzQ3p/N5+jA5N
    +uJWexAbG9hEc7nbbwINwp1b0P35eqSxhtr5wGdSNor5zScHazaPjPxHKP7WiATj8
    +a1p0MlEHABEBAAG0PEFudG9pbmUgTGV2eS1MYW1iZXJ0IChDT0RFIFNJR05JTkcg
    +S0VZKSA8YW50b2luZUBhcGFjaGUub3JnPokCKwQTAQIAFQIbAwIeAQIXgAUCTM+M
    +LAUVCgkIAgAKCRBe+tn+gqf7zcwkEAC3VkVY4TGXoj3CDnjCL9nwkxAyK+JagXSw
    +7g8FMjqWW7YAIU8TprZxtOJUcnSXioVtT8dhKBfaasu34EpMrUYEIPNp5BNzhxIf
    +f9hXVrcuOZ1k0nJRlSc4IKSsrognoCDm340ma8AOMARVkrz7tXdqdlDPWVjMvqn/
    +5/KReaIHQUNRqjypIIdM5mgaE41F1+uAyqLqcxvf4YQtu0NNGMizGZd37bH+5wMF
    +BT7S6CesAVPogcfnMdoMN1wO2yOzWKlg49U91DLUY3XHGOQnqVnTnVQ/xzLEj/vf
    +0PlLoY+3Yn9WEaonkMgco9un71xZ9s4DnR4WE+7QJYU2cgSPFB5DbAZ925qcNK/x
    +wOpKfRyBPN4zdjWE8Vjd25EcjZLsxgPiSlPpbyIJD6Ot61uoqekinNlAo44sleg8
    +rNAAYnajlD/1La+Q/grQnHcujOt/w/ya3LG/cTpz7wkUhxhnmMwmxrVlEFaM24Qk
    +PwbQE/Wuwdvm/hYX5o4F1b7DQ9WepNZ4ahb/ztbsIg2my7JLN4RPDWZ++EMt5K6w
    +G+34vn8RfuSu4GHT8TAoexDsAEWzFo67F+dAosrvfw+HBBm3hNEz4tRkKP4SPqmo
    +dE8IXUffF+VFeFH0NLsvIwfpdW90XNxnSlnrc8aVpdvuE3qXqjQICo10LEJuxZRa
    +hNggNMtUNIkCfQQQAQIAZwUCTNK+FSEcRGFuIFBvaXJpZXIgPHBvaXJpZXJAYXBh
    +Y2hlLm9yZz4gHERhbiBQb2lyaWVyIDxwb2lyaWVyQHBvYm94LmNvbT4dHERhbiBQ
    +b2lyaWVyIDxkYW5AcG9pcmllci51cz4ACgkQnPorAWKylj8WUxAAmxx/NESLJp0r
    +A+fW8dQ08jGZ1Xf1laNCEd1eb6FXr/Z2xsKPFq6okBiiw6cm2wiwp7DBBHxQatyb
    +AJNLAGVg8wpHUPgUguFOY1LyLRZ9i2SKKmWG0jzQ7svWELxssHFUnMW8dwtk3qAb
    +o8pKvOKf4ol3qoKfN3Xq8ZBXAGkQaTIOJzGSfau+dH5NbhMcqZEoKGOAcOsLiIHZ
    +Cnos9KqFMxqBlTMyJWO9YP8dY3mGHUWV0gsYfE32bHM3auaA2Ynzxtor/jMBATeq
    +hTWjRAD1H92/HZ9vRBKwpHHpjsF+21aL9TZv5D2OmFYeN7/G1tyRcLYLrhDa7tnx
    +r5S/ePdypMZ2IUaC0umMKrc8ZrAtK/2N4ZmnHKoScCJHjup66cLCVVFGXHb2hEM9
    +2fPFog2//s78Cw1DAxaNE4jjmR4QWXmQZUqA8AymIfgsi+nI9rWMWnpTCC6DGG9+
    +j7GbIpPdRscqoyAiPl2lBpZerLirTa1GMuDqqGuNiv6YmEvxNVleOlPYCCQr1vY5
    +ltJz34zckBNJAH/7woggqoyGiLa456ruDzU77qxUCy5ulFTOWsVtltojnlxgKBML
    +8f0uThQZN+0HydPb4uP3k5aLNL1ktiSo/XlIP2/AO69Bi4YZzERYsETm2zFLWx1P
    +MN+R0l/BAjRskTCX+H92fG5OkGjkmR+JAlwEEAECAEcFAkzS16tAHEpvc2VwaCBF
    +ZHdhcmQgQmVyZ21hcmsgKENPREUgU0lHTklORyBLRVkpIDxiZXJnbWFya0BhcGFj
    +aGUub3JnPgAKCRCw2ZG0fECHN8OVD/Y8+R4R9aNkuZJ76SCHOIhxjKtMhk44muAZ
    +FQwB+CG7HY4b/869+JdAOrwsOYr75h3vkz1vkU8FOr2LAu6PdiXDKpEs9wkPDGFx
    +Rg9yePaX2DbAh0Ch1ucR1FZvr3QqO+L0ri1lfUUl76n/QfZtHXfuoPgsYIjsbv6g
    +90mxHFJxxmowgX5gWKYaVm6OFN7xYiAC18Ia8LfReNIZO0XyaOq2/NoLuIVyguyi
    +C3RuVnvAk92/6YCPgZNiH1lN1kLmkoNvGpY6CFkCI9LKZ9xRCbs7Dbkoz7I+EYla
    +zfRf5mLjsrI+nVmFHvicvuw3ZtCCAImMdZ+Z53CHwd2N2v81lqnxUyCDPJf4Mxcw
    +Jq7Hf9hYZUBS9Ehj3nfCmJwOVUMrXYXurKinDAcyoYmlA2iqdzUdM3d9xFGjexsl
    +cUhZusggmOvBc3bK5BLZXUm009B5LYz4BGUAVsmN8vXekRgevszz5GcZBKElgRds
    +9DQaO4sbgrskq2TXHzBI7e9GiEcUyErZ8fdsbea5zrPoW2/x74Kq93VtQCuWPDOJ
    +Nq95l0J6bmiaVZuUTO5YIHFts7jphvA4gMf/4Lnzhzkcwftgi9OwyDBbpTyfdno+
    +hsYBrBFQP4L7DLaGewHt46Iggil7Y9oMO0Yo7JtCsRnDtZYxc4rveg8vRg2xIl4y
    +NJlDNzNciQIcBBABCgAGBQJM0p5uAAoJEJrilv0C6fZbqooQAOpWpMdzXdmDG2fe
    +BffHiY2sabhX7B+tBRw+SIvmGw+ZvWvy3Tp2xFy7+PgCJhs/wbjyI3tCyx+DPb5C
    +ybZpDjferuhbKA/PVgnJozUhYtwLFQ7bRyvlLq3ZSZZawVn2bbIHn1knjohz+0hB
    +90zVX6vXhjPNZwL8vzPa3jMMNPDbd4E7w0VB63sWTKXq/pTy5SFGfscunxOsDMbj
    +KcW1VtSszH68aywefZV9DbmjSDEgNRiqwtj+WxD3rp3fARBO+4o5yIsjWu1wGL+n
    +59atHZJp34dAJFgOTJ2Jtykyuh3G76k4XKLemgUsu4aWFAlNIWt/f41cT5WmQe4z
    +YG4yWLE/KWpIc5Jn2p3wlQpKqwl/+F3pkOpqPZmZkYjn4ORCMg1Q0eOzfiaheofv
    +T78N0j8020z1lf5ojmEtGHoOzwz076Z3TGP256a4F37ZzibM7KFBn4iwjVrgqfFa
    +62Q5WG+q2rdmpQ5B2eXAYNxg66DiMcfR3zHJeMz3UpOZcygIUZ63N6VK7+WgNPtO
    +swBmXUxa5L35+a616/vvPtCEBlvJtDQz22BIvp/RpYaJ1k5K58uy0hj0oXZlD3q7
    +BJSgPhgYOOqO79ZOwbgqGB9is5yegDXtXctV4FGuj601C+qtUHbRLmGio3XSMnmy
    +FCOJpZW41tJYo9uQz7dRHIzGsBpSiIAEEBECAEAFAkzTeLE5HEx1Y2lhbm8gUmVz
    +ZW5kZSAoQ29kZSBTaWduaW5nIEtleSkgPGxyZXNlbmRlQGFwYWNoZS5vcmc+AAoJ
    +EPOfGH3vtV3xs08AniczpMS0xOouROjBIHLC+RlBdMwAAJ0ZiOfPrr5+C9Glo317
    +omxwZ0obvbkCDQRMz4tvARAAoqAcqn4cTgkAEACgeJQJoPKYAAyZwISGNTgqnnSr
    +BtN91af3XoVybrnXvlzFc6CkyWQ5T44yMaSfM/ZCYMpFCLtzssTlk3R8ASd7aIQR
    +/ydoB5vaPZ424NjSfsNLiF1NR868R8iFPHphegw3P2UeFT8rw/arcdJ5lXQ/J66p
    +63t9BlggU4piIMl/JPrtVawVLelYMYy3zw/RdnmrvU1qrZBGno5QkRhRlOXqQBTv
    +FlWVZT0GtC+lNha/MqEqW5YkACVPYqpmYk2aoNH5+Gj/yBpWap1o8GsVZKZQUMx6
    +CPAT9GcTrOlFqFbFG1kL0iOQgOlggQ0Kba5LN1VXUl7ESsu7NYEXDqDdbjduVDMR
    +UsFrhTPUOf/kRNPjMPmGih0RP1s0woe3M4dsLaZEcAu88HHMCcaiOfBPAFU84upM
    +fEgh0BIcmTVwAaSftD5gzmZKY3YXfaS0cD6RaZBWuzecHNDLLEgzuhNbUtmtylx1
    +X57tep9Mh2tKDFrqBxlhg3M73+mGdE6zgsWhgOeAMATII8mzM90zLh4bg9RBxdp+
    +PnoJEbuZVdIX2bNJPt/u4LdAV/czozPjkZtZ60VSkEYyUnZ2dNKUOv5tujkY4dm1
    +V+R9uR25C4fLopnE/AN26+GYePrbBaghEUh7ugg7HlTEXPz2JsfvpjPIaao0V1+A
    +bEUAEQEAAYkCHwQYAQIACQUCTM+LbwIbDAAKCRBe+tn+gqf7zYEvEACoszB5B68Z
    +QrcOBSWvk4l0xWLNfZQIl0M5WoNEoNj6Vt1CzIXadRFxHu1m0gnDLW3brquRuxTe
    +acho1iqinNw0pP7yODNW5p5ftKdvFlB7NNemVxzNZn1Q4cSkbI7GdYFiU9WQf7lB
    +TQpzFhjJSbJEMHtQrYOqw1wGNPZThEfNXwFLwe+0RF25gEQwuTkRdnpKarBeZiax
    +8zkuOmTLWmrI5Dq0dsYi6YotuHaSa3cFjGo+gp2cj+mBljaW8BXAIjzNunjMKqkV
    +XNA+Eh3w8FIx7NYZfrbDz4II3naYLb3x3IEwb6g7sTnCexFyTcS2RMJOqPBG2Zh6
    +UI73B3AGkWDMsUyDMPVCVOEWUsT94tPBDZCrvdOpVu99OeMqESuaIuPELEbSIrsU
    +aDCyJDnIWVExk69szQl/4HOM+u9WBtSmG94WOCT7T+ypPcfFBPpUvxx6VriWKRQX
    +yKUlVCJVET4UpDHIwVUpIsmFmjxZfTlhe7pny8/a03/EnvGImuLYoxhfzP3VRapr
    +86fwCseMxAPW3gnl6zvGZrIM6ZS09tdyTIOiHUHMcXvWpyxdw+7EXHuncpEB5m0U
    +Ci8LBeDYqitVqqakgdKGAl8pfwaIJ9DsE5Sv/IHKFmieLa9PEh/2S/4hCD31atIK
    +3PimOFurhebU3wOU0wEkNb/3IYLk+MFQOA==
    +=1STU
    +-----END PGP PUBLIC KEY BLOCK-----

    Modified: ant/core/branches/ANT_SITE/ReleaseInstructions
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/ReleaseInstructions?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/ReleaseInstructions (original)
    +++ ant/core/branches/ANT_SITE/ReleaseInstructions Mon Dec 13 18:34:00 2010
    @@ -70,7 +70,9 @@ Note: This document was updated in the c

    * docs/manual/cover.html
    * docs/manual/credits.html
    - * build.xml (version property & manifest-version property)
    + * build.xml properties : project-version & manifest-version
    + * POM files under src/etc/poms and subdirectories
    + * ivy.xml in release subdirectory

    Commit your changes.

    @@ -83,6 +85,7 @@ Note: This document was updated in the c
    manual under "Documentation")
    * xdocs/srcdownload.xml
    * xdocs/bindownload.xml
    + * xdocs/manualdownload.xml

    Generate the html files by invoking ant on docs.xml
    (use -projecthelp for instructions).
    @@ -228,16 +231,31 @@ Note: This document was updated in the c
    * upload the new release files to

    from distribution
    - to /www/www.apache.org/dist/ant/[source|binaries].
    + to /www/www.apache.org/dist/ant/[source|binaries|manual].


    - and
    -
    - from java-repository/org/apache/ant
    + * upload the maven artifacts located under java-repository/org/apache/ant
    + these artifacts comprise currently for each ant jar of one POM file, the corresponding jar file
    + and the corresponding GPG signatures (x.pom, x.jar, x.pom.asc, x.jar.asc)
    + MD5 and SHA1 are generated by ivy during the upload

    to

    - /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/ant
    + https://repository.apache.org (nexus repository)
    +
    + using the build file release/upload.xml
    +
    + ant -Dupload.user=foo -Dupload.password=secret -lib location_of_ivy_jar -f upload.xml
    +
    + * after the upload, you need to access the web interface of nexus under https://repository.apache.org
    + login using your Apache credentials
    + select the Staging enterprise repository
    + expand org.apache.ant
    + right click the upload that you just did
    + select the context menu entry "Close"
    + once this is done, you have to again select your upload in the web interface,
    + right click, and select the menu entry promote.
    + 4 hours later, the artefacts will be in the maven central repository.


    * remove the symbolic links from /www/www.apache.org/dist/ant.
    @@ -263,7 +281,7 @@ Note: This document was updated in the c
    21. Clean up.

    * remove the remaining files of the previous release and betas from
    - /www/www.apache.org/dist/ant/[source|binaries].
    + /www/www.apache.org/dist/ant/[source|binaries|manual].
    This includes the old release notes.

    (+)
    @@ -284,8 +302,7 @@ Note: This document was updated in the c
    Announce release at freshmeat.net
    (Stefan Bodewig is the owner of Ant's project entry - bug him ;-).

    - Announce release in the usenet groups comp.lang.java.softwaretools
    - and comp.lang.java.announce.
    + Announce release in the usenet group comp.lang.java.softwaretools .

    24. Add a new release tag to doap_Ant.rdf in Ant's trunk.

    @@ -297,11 +314,13 @@ Note: This document was updated in the c
    the xdocs and the generated html from the branch and will complain if there
    are discrepancies in version numbers.

    -(**) Mirrors : the srcdownload.html and bindownload.html each list a number of
    - mirrors. For ant 1.6.0 the mirrors picked up the new version in 8 hours
    - or less, the release having been done at midnight on Dec 18th, the
    - mirrors had it on Dec 19th at 8 am. The srcdownload/bindownload pages both
    - contain a note advising users to be patient immediately after the release.
    +(**) Mirrors : the srcdownload.html, bindownload.html and
    + manualdownload.html each list a number of mirrors. For ant 1.6.0
    + the mirrors picked up the new version in 8 hours or less, the
    + release having been done at midnight on Dec 18th, the mirrors had
    + it on Dec 19th at 8 am. The
    + srcdownload/bindownload/manualdownload pages all contain a note
    + advising users to be patient immediately after the release.

    (+) Don't expect the old releases to disappear from
    www.apache.org/dist as soon as the new releases are there.

    Modified: ant/core/branches/ANT_SITE/STATUS
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/STATUS?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/STATUS (original)
    +++ ant/core/branches/ANT_SITE/STATUS Mon Dec 13 18:34:00 2010
    @@ -1,11 +1,10 @@
    Apache Ant Status
    -Last modified at 2007-08-03
    +Last modified at 2010-07-20

    Release:
    - Current: 1.7.0 (in SVN ANT_17_BRANCH)
    + Current: 1.8.1 (in SVN Tag: ANT_181)
    Maintenance: -
    - Development: 1.7.1 (in SVN ANT_17_BRANCH)
    - 1.8 (in SVN HEAD)
    + Development: 1.8.2 (in SVN Branch: trunk)

    Assets:
    DNS: ant.apache.org
    @@ -16,6 +15,7 @@ Assets:
    Web site: http://ant.apache.org/

    Repositories: ant
    + Module: core

    PMC Members
    see http://ant.apache.org/contributors.html

    Modified: ant/core/branches/ANT_SITE/WHATSNEW
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/WHATSNEW?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/WHATSNEW (original)
    +++ ant/core/branches/ANT_SITE/WHATSNEW Mon Dec 13 18:34:00 2010
    @@ -1,9 +1,301 @@
    -Changes from Ant 1.8.0 TO current SVN version
    +Changes from Ant 1.8.1 TO current SVN version
    =============================================

    Changes that could break older environments:
    -------------------------------------------

    + * Prior to Ant 1.8.0 the <copy> task and several other tasks would
    + overwrite read-only destination files. Starting with 1.8.0 they
    + would only do so under special circumstances. Ant 1.8.2 now
    + consistently won't replace a read-only file by default. The same is
    + true for a number of other tasks.
    + The <copy>, <move> and <echo> tasks now have a new force attribute
    + and <concat> has a new forceReadonly attribute that can be used to
    + make the task overwrite read-only destinations.
    + Bugzilla Report 49261.
    +
    + * Removed ant-nodeps.jar; it is now merged into ant.jar.
    +
    + * DOMElementWriter#encode used to employ special code before encoding
    + ampersands so that &#123; remained &#123; rather than being turned
    + into &amp;#123;. This is no longer the case, ampersands will now
    + be encoded unconditionally.
    + Also DOMElementWriter#encodeData will treat CDATA sections containing a
    + literal "]]>" sequence different now - it will split the CDATA
    + section between the second "]" and ">" and create two sections.
    + This affects <echoxml> task as well as the XML logger or JUnit
    + formatter where ampersands will now always get encoded.
    + In addition DOMElementWriter will now replace the characters \t, \r
    + and \n in attribute values by entity references.
    + Bugzilla Report 49404.
    +
    + * The list elements returned by ProjectHelper#getExtensionStack are
    + now String arrays of length 3 rather than 2 in order to support the
    + onMissingExtensionPoint attribute.
    + Bugzilla Report 49473.
    +
    + * When using <property file="..." prefix="..."/> properties defined
    + inside the same file will only get used in expansions if the ${}
    + reference uses the same prefix. This is different from Ant 1.8.1
    + but is the same behavior Ant 1.8.0 and earlier exhibited.
    + A new attribute prefixValues can be used to re-enable the behavior
    + of Ant 1.8.1.
    + Bugzilla Report 49373.
    +
    + * The files and directories used by Git, Mercurial and Bazaar to
    + store their information are now excluded by the defaultexcludes.
    + Bugzilla Report 49624.
    +
    + * The <junit> task no longer generates TestListener events - which
    + have been introduced in ant 1.7.0 - by default. The task has a new
    + attribute enableTestListenerEvents and a new "magic" property
    + ant.junit.enabletestlistenerevents has been added that can be used
    + to reinstate the old behavior.
    +
    +Fixed bugs:
    +-----------
    +
    + * hostinfo now prefers addresses with a hostname over addresses without
    + a hostname, provided the addresses have the same scope.
    + For local lookup, no IP address will be put in NAME / DOMAIN anymore.
    + For remote lookup, if a host name was provided and only an IP address is
    + found, the IP address will no longer overwrite the host name provided to the
    + task.
    + Bugzilla Report 49513
    +
    + * mmap-based file copy problems under JDK 1.4 on Linux.
    + Bugzilla Report 49430.
    +
    + * The Sun JVM tries to mmap the entire file during a copy.
    + For large files this is not feasible.
    + We now explicitly request to copy at most 16 MiB per request.
    + Bugzilla Report 49326.
    +
    + * DemuxInputStream.read() should return unsigned values
    + Bugzilla Report 49279.
    +
    + * The MIME mailer ignored the port parameter when using SSL.
    + Bugzilla Report 49267.
    +
    + * <xslt> ignored the classpath when using the default TraX processor.
    + Bugzilla Report 49271.
    +
    + * <checksum>'s totalproperty only worked reliably if the same file
    + name didn't occur inside more than one directory.
    + Bugzilla Report 36748.
    +
    + * <ftp> could fail to download files from remote subdirectories under
    + certain circumstances.
    + Bugzilla Report 49296.
    +
    + * <junit> will now produce better diagnostics when it fails to delete
    + a temporary file.
    + Bugzilla Report 49419.
    +
    + * Ant would often scan directories even though there were known to
    + only hold excluded files when evaluating filesets. This never
    + resulted in wrong results but degraded performance of the scan
    + itself.
    + Bugzilla Report 49420.
    +
    + * <javac> failed for long command lines on OS/2.
    + Bugzilla Report 49425.
    +
    + * <junitreport> did not handle encodings well for stdout/stderr.
    + Bugzilla Report 49418.
    +
    + * <junit> could issue a warning about multiple versions of Ant on the
    + CLASSPATH if two CLASSPATH entries differed in case on a
    + case-insensitive file system.
    + Bugzilla Report 49041.
    +
    + * The <restrict> resource collection was checking every resource even if
    + we actually just want the first one, like in the example of use of
    + resourcelist in the documentation (getting the first available resource
    + from a mirror list).
    +
    + * A race condition could lead to build failures if multiple <mkdir>
    + tasks were trying to create the same directory.
    + Bugzilla Report 49572.
    +
    + * the toString() method of the Resources class - and thus any
    + ${toString:} expansion of a reference to a <resources> element -
    + didn't iterate over its nested elements if it hadn't done so prior
    + to the toString invocation already.
    + Bugzilla Report 49588.
    +
    + * <apply> in parallel mode didn't work together with a nested
    + <redirector> if maxparallel was <= 0 (the default) or no source
    + files matched.
    + Bugzilla Report 49594.
    +
    + * <jar filesetmanifest="merge"> didn't work for manifests added via
    + <zipfileset>s that used the prefix or fullpath attributes.
    + Bugzilla Report 49605.
    +
    + * <tempfile createfile="true"> would cause an error unless the prefix
    + attribute has been specified.
    + Bugzilla Report 49755.
    +
    + * If forked, after finished <java> was still reading the input stream
    + for a bunch of characters, then stealing them from a following <input>.
    + Bugzilla Report 49119.
    +
    + * Ant could be leaking threads for each forked process (started by
    + <exec>, <apply>, <java> or similar tasks) that didn't receive input
    + from a resource or string explicitly.
    + Bugzilla Report 49587.
    +
    + * Project#setDefault threw an exception when null was passed in as
    + argument, even though the javadoc says, null is a valid value.
    + Bugzilla Report 49803.
    +
    + * runant.py would swallow the first argument if CLASSPATH wasn't set.
    + Bugzilla Report 49963.
    +
    + * <taskdef> failed to load resources from jar files contained in a
    + directory that has a "!" in its name.
    + Bugzilla Report 50007.
    +
    + * ant.bat exit strategy improvements and issues
    + make the exit codes work in environments where 4NT or MKS are installed
    + Bugzilla Report 41039.
    +
    + * <signjar> would fail if used via its Java API and the File passed
    + into the setJar method was not "normalized" (i.e. contained ".."
    + segments).
    + Bugzilla Report 50081.
    +
    + * <delete> ignored <fileset>'s errorOnMissingDir attribute
    + Bugzilla Report 50124.
    +
    + * <symlink> failed to close files when reading a list of symbolic
    + links from a properties file.
    + Bugzilla Report 50136.
    +
    + * <parallel> could allow tasks to start executing even if a task
    + scheduled to run before them timed out.
    + Bugzilla Report 49527.
    +
    + * If a <junit> batch with multiple tests times out Ant logs a message
    + about a test named Batch-With-Multiple-Tests since 1.8.0 but the
    + logic that determined the Java package of this pseudo-test has been
    + wrong.
    + Bugzilla Report 45227.
    +
    + * <propertyfile> didn't preserve the original linefeed style when
    + updating a file.
    + Bugzilla Report 50049.
    +
    + * <zip>'s whenEmpty behavior never consulted the non-fileset
    + resources so the task could fail even though resources have been
    + provided using non-fileset resource collections.
    + Bugzilla Issue 50115.
    +
    +* ftp chmod could throw a NPE.
    + Bugzilla report 50217.
    +
    +* The project help (-p option in the command line) will now print
    + the dependencies of the targets in debug mode (-d on the command
    + line)
    +
    +Other changes:
    +--------------
    +
    + * <concat>'s force attribute has been deprecated in favor of a new
    + overwrite attribute that is consistent with <copy>'s attribute
    + names.
    +
    + * You can now specify a list of methods to run in a JUnit test case.
    + Bugzilla Report 34748.
    +
    + * properties in files read because of the -propertyfile command line
    + option will now get resolved against other properties that are
    + defined before the project starts executing (those from the same or
    + earlier -propertfiles or defined via the -D option).
    + Bugzilla Report 18732.
    +
    + * <pathelement>s can now contain wildcards in order to use wildcard
    + CLASSPATH entries introduced with Java6.
    + The wildcards are not expanded or even evaluated by Ant and will be
    + used literally. The resulting path may be unusable as a CLASSPATH
    + for Java versions prior to Java6 and likely doesn't mean anything
    + when used in any other way than a CLASSPATH for a forked Java VM.
    + Bugzilla Report 46842.
    +
    + * A new attribute allows targets to deal with non-existant extensions
    + points, i.e. they can extend and extension-point if it has been
    + defined or silently work as plain targets if it hasn't. This is
    + useful for targets that get included/imported in different
    + scenarios where a given extension-point may or may not exist.
    + Bugzilla Report 49473.
    +
    + * Ant now logs a warning message if it fails to change the file
    + modification time in for example when using <touch> or preserving
    + timestamps in various tasks.
    + Bugzilla Report 49485.
    +
    + * ProjectHelpers can now be installed dynamically via the <projecthelper>
    + Ant task.
    +
    + * <import> is now able to switch to the proper ProjectHelper to parse
    + the imported resource. This means that several kinds of different build
    + files can import each other.
    +
    + * <copy tofile=""> now also works for non-filesystem resources.
    + Bugzilla Report 49756.
    +
    + * The <linecontainsregexp> filter now supports a casesensitive
    + attribute.
    +
    + * The <containsregexp> selector now supports casesensitive, multiline
    + and singleline attributes.
    + Bugzilla Report 49764.
    +
    + * A new <cutdirsmapper> can be used like wget's --cut-dirs option to
    + strip leading directories from file names.
    +
    + * <javah> now supports the GNU project's gcjh compiler.
    + Bugzilla Report 50149.
    +
    + * <checksum> supports additional views of a file's path as elements
    + for a custom pattern.
    + Bugzilla Report 50114.
    +
    + * JUnit XMLResultAggregator logs the stack trace of caught IO exceptions
    + in verbose runs.
    + Bugzilla Report 48836.
    +
    + * StringUtils.parseHumanSizes() should turn parse failures into
    + BuildExceptions.
    + Bugzilla Report 48835.
    +
    + * New task <bindtargets> to make a list of targets bound to some
    + specified extension point.
    +
    + * Initial support for OpenJDK7 has been added.
    +
    + * Ant now uses java.net.CookieStore rather than
    + java.util.ServiceLocator to detect whether the environment is a
    + Java 1.6 system. This means releases of gcj/gij at the time of
    + this release of Ant are detected as Java 1.5 and not 1.6.
    + Bugzilla Report 50256.
    +
    + * It is now possible to write a compiler adapter for <javac> that
    + compiles sources with extensions other than .java (but that still
    + compile to .class files).
    + Bugzilla Report 48829.
    +
    + * The performance of VectorSet#add(Object) has been improved which
    + should also benefit any operation that scans directories in Ant.
    + Bugzilla Report 50200.
    +
    +Changes from Ant 1.8.0 TO Ant 1.8.1
    +===================================
    +
    +Changes that could break older environments:
    +-------------------------------------------
    +
    * ant-trax.jar is no longer produced since TrAX is included in JDK 1.4+.

    * Ant no longer ships with Apache Xerces-J or the XML APIs but relies

    Modified: ant/core/branches/ANT_SITE/build.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/build.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/build.xml (original)
    +++ ant/core/branches/ANT_SITE/build.xml Mon Dec 13 18:34:00 2010
    @@ -34,17 +34,16 @@
    <property name="name" value="ant"/>
    <!-- this is the groupId of ant in the Maven repository -->
    <property name="groupid" value="org/apache/ant"/>
    - <property name="project.version" value="1.8.1alpha"/>
    + <property name="project.version" value="1.8.2alpha"/>
    <!-- pom.version is used when doing a distribution and must match with what is checked in under src/etc/poms -->
    - <property name="pom.version" value="1.8.1-SNAPSHOT"/>
    - <property name="manifest-version" value="1.8.1"/>
    + <property name="pom.version" value="1.8.2-SNAPSHOT"/>
    + <property name="manifest-version" value="1.8.2"/>
    <property name="bootstrap.jar" value="ant-bootstrap.jar"/>

    <property name="ant.package" value="org/apache/tools/ant"/>
    <property name="taskdefs.package" value="${ant.package}/taskdefs"/>
    <property name="condition.package" value="${taskdefs.package}/condition"/>
    <property name="optional.package" value="${taskdefs.package}/optional"/>
    - <property name="optional.condition.package" value="${optional.package}/condition"/>
    <property name="type.package" value="${ant.package}/types"/>
    <property name="optional.type.package" value="${type.package}/optional"/>
    <property name="apache.resolver.type.package" value="${ant.package}/types/resolver"/>
    @@ -104,10 +103,10 @@
    <property name="optimize" value="true"/>
    <property name="javac.target" value="1.4"/>
    <property name="javac.source" value="1.4"/>
    - <property name="junit.fork" value="false"/>
    <property name="junit.filtertrace" value="off"/>
    <property name="junit.summary" value="no"/>
    <property name="test.haltonfailure" value="false"/>
    + <property name="junit.fork" value="true"/>
    <property name="junit.forkmode" value="once"/>
    <property name="expandproperty.files"
    value="**/version.txt,**/defaultManifest.mf"/>
    @@ -125,6 +124,10 @@

    <path id="tests-classpath">
    <pathelement location="${build.classes}"/>
    + <path refid="classpath"/>
    + </path>
    + <path id="tests-runtime-classpath">
    + <path refid="tests-classpath"/>
    <pathelement location="${build.tests}"/>
    <!--
    include the test source and test data dirs
    @@ -132,13 +135,10 @@
    -->
    <pathelement location="${src.junit}"/>
    <pathelement location="${tests.etc.dir}"/>
    - <path refid="classpath"/>
    + <!-- Otherwise many tests fail with "com.sun.tools.javac.Main is not on the classpath.": -->
    + <pathelement location="${java.home}/../lib/tools.jar"/>
    </path>

    - <!-- turn this path into a string which is passed to the tests -->
    - <property name="tests-classpath.value"
    - refid="tests-classpath"/>
    -
    <!--
    ===================================================================
    Set up properties for the distribution area
    @@ -148,6 +148,7 @@
    <property name="dist.base" value="distribution"/>
    <property name="dist.base.source" value="${dist.base}/source"/>
    <property name="dist.base.binaries" value="${dist.base}/binaries"/>
    + <property name="dist.base.manual" value="${dist.base}/manual"/>
    <property name="dist.dir" value="dist"/>
    <property name="dist.bin" value="${dist.dir}/bin"/>
    <property name="dist.lib" value="${dist.dir}/lib"/>
    @@ -172,7 +173,7 @@
    <selector id="needs.jdk1.5+">
    <or>
    <filename name="${taskdefs.package}/AptTest*"/>
    - <filename name="${util.package}/java15/*"/>
    + <filename name="${util.package}/java15/"/>
    <filename name="${ant.package}/loader/*5*"/>
    </or>
    </selector>
    @@ -186,11 +187,20 @@
    </selector>

    <selector id="needs.apache-resolver">
    - <filename name="${apache.resolver.type.package}/**"/>
    + <filename name="${apache.resolver.type.package}/"/>
    </selector>

    <selector id="needs.junit">
    - <filename name="${optional.package}/junit/**"/>
    + <and>
    + <filename name="${optional.package}/junit/"/>
    + <not>
    + <filename name="${optional.package}/junit/JUnit4TestMethodAdapter*"/>
    + </not>
    + </and>
    + </selector>
    +
    + <selector id="needs.junit4">
    + <filename name="${optional.package}/junit/JUnit4TestMethodAdapter*"/>
    </selector>

    <selector id="needs.apache-regexp">
    @@ -200,14 +210,14 @@
    <selector id="needs.apache-oro">
    <or>
    <filename name="${regexp.package}/JakartaOro*"/>
    - <filename name="${optional.package}/perforce/*"/>
    + <filename name="${optional.package}/perforce/"/>
    </or>
    </selector>

    <selector id="needs.apache-bcel">
    <or>
    <filename name="${ant.package}/filters/util/JavaClassHelper*"/>
    - <filename name="${util.package}/depend/bcel/*"/>
    + <filename name="${util.package}/depend/bcel/"/>
    <filename name="${optional.type.package}/depend/ClassFileSetTest*"/>
    </or>
    </selector>
    @@ -250,26 +260,26 @@
    </selector>

    <selector id="needs.jmf">
    - <filename name="${optional.package}/sound/*"/>
    + <filename name="${optional.package}/sound/"/>
    </selector>

    <selector id="needs.jai">
    <or>
    - <filename name="${optional.package}/image/*"/>
    - <filename name="${optional.type.package}/image/*"/>
    + <filename name="${optional.package}/image/"/>
    + <filename name="${optional.type.package}/image/"/>
    </or>
    </selector>

    <selector id="needs.jdepend">
    - <filename name="${optional.package}/jdepend/*"/>
    + <filename name="${optional.package}/jdepend/"/>
    </selector>

    <selector id="needs.swing">
    - <filename name="${optional.package}/splash/*"/>
    + <filename name="${optional.package}/splash/"/>
    </selector>

    <selector id="needs.jsch">
    - <filename name="${optional.package}/ssh/*"/>
    + <filename name="${optional.package}/ssh/"/>
    </selector>

    <!-- needs TraceListenerEx3 interface implemented by PrintTraceListener -->
    @@ -278,7 +288,7 @@
    </selector>

    <selector id="ant.launcher">
    - <filename name="${ant.package}/launch/**/*"/>
    + <filename name="${ant.package}/launch/"/>
    </selector>

    <patternset id="onlinetests">
    @@ -334,74 +344,92 @@
    ===================================================================
    -->
    <target name="check_for_optional_packages">
    + <condition property="ignoresystemclasses">
    + <not>
    + <equals arg1="${build.sysclasspath}" arg2="only"/>
    + </not>
    + </condition>
    + <property name="ignoresystemclasses" value="false"/>
    <available property="jdk1.5+" classname="java.net.Proxy"/>
    - <available property="jdk1.6+" classname="java.util.ServiceLoader"/>
    + <available property="jdk1.6+" classname="java.net.CookieStore"/>
    + <available property="jdk1.7+" classname="java.nio.file.FileSystem"/>
    <available property="kaffe" classname="kaffe.util.NotImplemented"/>
    + <available property="harmony"
    + classname="org.apache.harmony.luni.util.Base64"/>
    <available property="bsf.present"
    classname="org.apache.bsf.BSFManager"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="netrexx.present"
    classname="netrexx.lang.Rexx"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="apache.resolver.present"
    classname="org.apache.xml.resolver.tools.CatalogResolver"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="recent.xalan2.present"
    classname="org.apache.xalan.trace.TraceListenerEx3"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="junit.present"
    classname="junit.framework.TestCase"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    + <condition property="junit4.present">
    + <and>
    + <!-- Need JDK 5+ to compile since junit-4*.jar uses new bytecode format -->
    + <available classname="java.net.Proxy"/>
    + <available
    + classname="org.junit.Test"
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    + </and>
    + </condition>
    <available property="antunit.present"
    classname="org.apache.ant.antunit.AntUnit"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="commons.net.present"
    classname="org.apache.commons.net.ftp.FTPClient"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="antlr.present"
    classname="antlr.Tool"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="apache.regexp.present"
    classname="org.apache.regexp.RE"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="apache.oro.present"
    classname="org.apache.oro.text.regex.Perl5Matcher"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="jmf.present"
    classname="javax.sound.sampled.Clip"
    classpathref="classpath"/>
    <available property="jai.present"
    classname="javax.media.jai.JAI"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="jdepend.present"
    classname="jdepend.framework.JDepend"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="log4j.present"
    classname="org.apache.log4j.Logger"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="commons.logging.present"
    classname="org.apache.commons.logging.LogFactory"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="xalan.envcheck"
    classname="org.apache.xalan.xslt.EnvironmentCheck"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="which.present"
    classname="org.apache.env.Which"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>

    <available property="xerces.present"
    classname="org.apache.xerces.parsers.SAXParser"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="bcel.present"
    classname="org.apache.bcel.Constants"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>

    <condition property="javamail.complete">
    <and>
    <available classname="javax.activation.DataHandler"
    classpathref="classpath"/>
    <available classname="javax.mail.Transport"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    </and>
    </condition>

    @@ -455,23 +483,23 @@
    <and>
    <available
    classname="org.apache.commons.httpclient.HttpClient"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <isset property="commons.logging.present"/>
    </and>
    </condition>

    <available property="rhino.present"
    classname="org.mozilla.javascript.Scriptable"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="beanshell.present"
    classname="bsh.StringUtil"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="xerces1.present"
    classname="org.apache.xerces.framework.XMLParser"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    <available property="jsch.present"
    classname="com.jcraft.jsch.Session"
    - classpathref="classpath"/>
    + classpathref="classpath" ignoresystemclasses="${ignoresystemclasses}"/>

    <property name="build.compiler" value="modern"/>

    @@ -532,6 +560,7 @@

    <selector refid="needs.apache-resolver" unless="apache.resolver.present"/>
    <selector refid="needs.junit" unless="junit.present"/>
    + <selector refid="needs.junit4" unless="junit4.present"/>
    <selector refid="needs.apache-regexp"
    unless="apache.regexp.present"/>
    <selector refid="needs.apache-oro" unless="apache.oro.present"/>
    @@ -639,24 +668,29 @@
    manifest="${manifest}"
    whenmanifestonly="fail">
    <not>
    - <selector id="non-core">
    - <or>
    - <filename name="${optional.package}/**"/>
    - <filename name="${optional.type.package}/**"/>
    - <filename name="${util.package}/depend/**"/>
    - <filename name="${util.package}/optional/**"/>
    - <selector refid="needs.apache-log4j"/>
    - <selector refid="needs.commons-logging"/>
    - <selector refid="needs.apache-bcel"/>
    - <selector refid="needs.apache-bsf"/>
    - <selector refid="needs.apache-regexp"/>
    - <selector refid="needs.apache-resolver"/>
    - <selector refid="needs.apache-oro"/>
    - <selector refid="needs.jdk1.5+"/>
    - <selector refid="needs.javamail"/>
    - <selector refid="ant.launcher"/>
    - </or>
    - </selector>
    + <or>
    + <!-- Verification: (cd dist/lib; for j in *.jar; do jar tf $j; done) | egrep -v '/$|META-INF/MANIFEST\.MF' | sort | uniq -d -->
    + <selector refid="needs.antlr"/>
    + <selector refid="needs.apache-bcel"/>
    + <selector refid="needs.apache-bsf"/>
    + <selector refid="needs.apache-log4j"/>
    + <selector refid="needs.apache-oro"/>
    + <selector refid="needs.apache-regexp"/>
    + <selector refid="needs.apache-resolver"/>
    + <selector refid="needs.apache-xalan2"/>
    + <selector refid="needs.commons-logging"/>
    + <selector refid="needs.commons-net"/>
    + <selector refid="needs.jai"/>
    + <selector refid="needs.javamail"/>
    + <selector refid="needs.jdepend"/>
    + <selector refid="needs.jmf"/>
    + <selector refid="needs.jsch"/>
    + <selector refid="needs.junit"/>
    + <selector refid="needs.junit4"/>
    + <selector refid="needs.netrexx"/>
    + <selector refid="needs.swing"/>
    + <selector refid="ant.launcher"/>
    + </or>
    </not>
    <metainf dir="${build.dir}">
    <include name="LICENSE.txt"/>
    @@ -702,42 +736,6 @@
    </manifest>
    </jar>

    - <jar destfile="${build.lib}/ant-nodeps.jar"
    - basedir="${build.classes}"
    - manifest="${manifest.tmp}"
    - whenmanifestonly="${optional.jars.whenmanifestonly}">
    - <and>
    - <selector refid="non-core"/>
    - <not>
    - <or>
    - <selector refid="ant.launcher"/>
    - <selector refid="needs.apache-resolver"/>
    - <selector refid="needs.junit"/>
    - <selector refid="needs.apache-regexp"/>
    - <selector refid="needs.apache-oro"/>
    - <selector refid="needs.apache-bcel"/>
    - <selector refid="needs.apache-log4j"/>
    - <selector refid="needs.commons-logging"/>
    - <selector refid="needs.apache-bsf"/>
    - <selector refid="needs.javamail"/>
    - <selector refid="needs.netrexx"/>
    - <selector refid="needs.commons-net"/>
    - <selector refid="needs.antlr"/>
    - <selector refid="needs.jmf"/>
    - <selector refid="needs.jai"/>
    - <selector refid="needs.jdepend"/>
    - <selector refid="needs.swing"/>
    - <selector refid="needs.jsch"/>
    - <selector refid="needs.apache-xalan2"/>
    - </or>
    - </not>
    - </and>
    - <metainf dir="${build.dir}">
    - <include name="LICENSE.txt"/>
    - <include name="NOTICE.txt"/>
    - </metainf>
    - </jar>
    -
    <macrodef name="optional-jar">
    <attribute name="dep"/>
    <sequential>
    @@ -752,6 +750,7 @@

    <optional-jar dep="apache-resolver"/>
    <optional-jar dep="junit"/>
    + <optional-jar dep="junit4"/>
    <optional-jar dep="apache-regexp"/>
    <optional-jar dep="apache-oro"/>
    <optional-jar dep="apache-bcel"/>
    @@ -849,7 +848,7 @@
    </antcall>
    </target>

    - <target name="dist_javadocs" depends="javadocs">
    + <target name="dist_javadocs" depends="javadocs" if="jdk1.5+">
    <mkdir dir="${dist.javadocs}"/>
    <copy todir="${dist.javadocs}" overwrite="true">
    <fileset dir="${build.javadocs}"/>
    @@ -1017,7 +1016,7 @@

    <copy todir="${src.dist.docs}">
    <fileset dir="${docs.dir}">
    - <exclude name="manual/api/**"/>
    + <exclude name="manual/api/"/>
    <patternset refid="site.excludes"/>
    </fileset>
    </copy>
    @@ -1085,6 +1084,7 @@
    <mkdir dir="${dist.base}"/>
    <mkdir dir="${dist.base.source}"/>
    <mkdir dir="${dist.base.binaries}"/>
    + <mkdir dir="${dist.base.manual}"/>
    <mkdir dir="${java-repository.dir}"/>
    <antcall inheritAll="false" target="internal_dist">
    <param name="dist.dir" value="${dist.name}"/>
    @@ -1097,7 +1097,7 @@
    <include name="${dist.name}/bin/*.py"/>
    </zipfileset>
    <fileset dir="${dist.name}/..">
    - <include name="${dist.name}/**"/>
    + <include name="${dist.name}/"/>
    <exclude name="${dist.name}/bin/ant"/>
    <exclude name="${dist.name}/bin/antRun"/>
    <exclude name="${dist.name}/bin/*.pl"/>
    @@ -1117,7 +1117,7 @@
    <include name="${dist.name}/bin/*.py"/>
    </tarfileset>
    <tarfileset dir="${dist.name}/.." username="ant" group="ant">
    - <include name="${dist.name}/**"/>
    + <include name="${dist.name}/"/>
    <exclude name="${dist.name}/bin/ant"/>
    <exclude name="${dist.name}/bin/antRun"/>
    <exclude name="${dist.name}/bin/*.pl"/>
    @@ -1147,11 +1147,32 @@
    <checksums-mvn>
    <fileset dir="${java-repository.dir}" includes="**/*${project.version}.jar"/>
    <fileset dir="${java-repository.dir}" includes="**/*${project.version}.pom"/>
    - </checksums-mvn>
    + </checksums-mvn>
    +
    + <zip destfile="${dist.base.manual}/${dist.name}-manual.zip">
    + <zipfileset dir="${dist.name}/docs/manual" prefix="${dist.name}"/>
    + <zipfileset file="NOTICE" prefix="${dist.name}"/>
    + </zip>
    + <tar longfile="gnu"
    + destfile="${dist.base.manual}/${dist.name}-manual.tar">
    + <tarfileset dir="${dist.name}/docs/manual" prefix="${dist.name}"/>
    + <tarfileset file="NOTICE" prefix="${dist.name}"/>
    + </tar>
    + <gzip destfile="${dist.base.manual}/${dist.name}-manual.tar.gz"
    + src="${dist.base.manual}/${dist.name}-manual.tar"/>
    + <bzip2 destfile="${dist.base.manual}/${dist.name}-manual.tar.bz2"
    + src="${dist.base.manual}/${dist.name}-manual.tar"/>
    + <delete file="${dist.base.manual}/${dist.name}-manual.tar"/>
    +
    <delete dir="${dist.name}"/>
    <checksums>
    <fileset dir="${dist.base.binaries}/">
    - <include name="**/*"/>
    + <exclude name="**/*.asc"/>
    + <exclude name="**/*.md5"/>
    + <exclude name="**/*.sha1"/>
    + <exclude name="**/*.sha512"/>
    + </fileset>
    + <fileset dir="${dist.base.manual}/">
    <exclude name="**/*.asc"/>
    <exclude name="**/*.md5"/>
    <exclude name="**/*.sha1"/>
    @@ -1168,7 +1189,7 @@
    <include name="${dist.name}/build.sh"/>
    </zipfileset>
    <fileset dir="${dist.name}/..">
    - <include name="${dist.name}/**"/>
    + <include name="${dist.name}/"/>
    <exclude name="${dist.name}/bootstrap.sh"/>
    <exclude name="${dist.name}/build.sh"/>
    </fileset>
    @@ -1183,7 +1204,7 @@
    <include name="${dist.name}/build.sh"/>
    </tarfileset>
    <tarfileset dir="${dist.name}/.." username="ant" group="ant">
    - <include name="${dist.name}/**"/>
    + <include name="${dist.name}/"/>
    <exclude name="${dist.name}/bootstrap.sh"/>
    <exclude name="${dist.name}/build.sh"/>
    </tarfileset>
    @@ -1196,7 +1217,6 @@
    <delete dir="${dist.name}"/>
    <checksums>
    <fileset dir="${dist.base.source}/">
    - <include name="**/*"/>
    <exclude name="**/*.asc"/>
    <exclude name="**/*.md5"/>
    <exclude name="**/*.sha1"/>
    @@ -1527,6 +1547,7 @@ see ${build.junit.reports} / ${antunit.r
    <property name="test.junit.vmargs" value=""/>
    <property name="ant.junit.failureCollector"
    value="${junit.collector.dir}/${junit.collector.class}"/>
    + <!-- XXX includeantruntime="false" does not solve "multiple versions of ant detected in path for junit" warning -->
    <junit printsummary="${junit.summary}"
    haltonfailure="${test.haltonfailure}"
    fork="${junit.fork}"
    @@ -1539,13 +1560,13 @@ see ${build.junit.reports} / ${antunit.r
    <sysproperty key="build.tests.value" value="${build.tests.value}"/>
    <sysproperty key="offline" value="${offline}"/>
    <sysproperty key="tests-classpath.value"
    - value="${tests-classpath.value}"/>
    + value="${toString:tests-runtime-classpath}"/>
    <sysproperty key="root" file="${basedir}"/>
    <sysproperty key="build.compiler" value="${build.compiler}"/>
    <sysproperty key="tests.and.ant.share.classloader"
    value="${tests.and.ant.share.classloader}"/>
    <classpath>
    - <path refid="tests-classpath"/>
    + <path refid="tests-runtime-classpath"/>
    <pathelement location="${junit.collector.dir}"/>
    <!-- FIXME: remove failure collector build code for the moment
    <path refid="failure.cp"/>
    @@ -1581,7 +1602,7 @@ see ${build.junit.reports} / ${antunit.r
    </condition>

    <condition property="junit.testcase" value="${testcase}">
    - <available classname="${testcase}" classpathref="tests-classpath" />
    + <available classname="${testcase}" classpathref="tests-runtime-classpath" ignoresystemclasses="${ignoresystemclasses}"/>
    </condition>

    <fail>Cannot locate test ${testcase}
    @@ -1674,7 +1695,7 @@ see ${build.junit.reports} / ${antunit.r
    <exclude name="${ant.package}/types/selectors/BaseSelectorTest.java"/>

    <!-- helper classes, not testcases -->
    - <exclude name="org/example/**"/>
    + <exclude name="org/example/"/>
    <exclude name="${taskdefs.package}/TaskdefTest*Task.java"/>
    <exclude name="${optional.package}/junit/TestFormatter.java"/>

    @@ -1797,7 +1818,7 @@ see ${build.junit.reports} / ${antunit.r
    <target name="interactive-tests" description="--> runs interactive tests"
    depends="compile-tests"
    >
    - <java classpathref="tests-classpath"
    + <java classpathref="tests-runtime-classpath"
    classname="org.apache.tools.ant.taskdefs.TestProcess"
    fork="true"/>
    </target>

    Modified: ant/core/branches/ANT_SITE/check.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/check.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/check.xml (original)
    +++ ant/core/branches/ANT_SITE/check.xml Mon Dec 13 18:34:00 2010
    @@ -52,7 +52,7 @@

    <!-- Findbugs: Getting Findbugs -->
    <property name="findbugs.download.name"
    - value="findbugs-1.3.5"
    + value="findbugs-1.3.9"
    description="Name of the download file without suffix. Also the internal root directory of the ZIP."/>
    <property name="findbugs.download.file"
    value="${findbugs.download.name}.zip"
    @@ -92,13 +92,13 @@
    value="${rat.report.dir}/report.html"
    description="RAT-Report file"/>
    <property name="rat.version"
    - value="0.6"
    + value="0.7"
    description="Which Version of RAT to use"/>



    <target name="init-ivy">
    - <property name="ivy.version" value="2.0.0-beta1"/>
    + <property name="ivy.version" value="2.2.0"/>
    <property name="ivy.jar.url" value="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>
    <property name="ivy.jar.dir" value="${build.dir}/ivy"/>
    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/>
    @@ -111,7 +111,7 @@
    </target>

    <target name="checkstyle" description="--> checks Ant codebase according to ${config.dir}/checkstyle-config" depends="init-ivy">
    - <ivy:cachepath organisation="checkstyle" module="checkstyle" revision="4.3"
    + <ivy:cachepath organisation="checkstyle" module="checkstyle" revision="4.4"
    inline="true" conf="default" pathid="checkstyle.classpath" transitive="true"/>
    <taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" />
    <mkdir dir="${checkstyle.reportdir}"/>

    Modified: ant/core/branches/ANT_SITE/contributors.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/contributors.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/contributors.xml (original)
    +++ ant/core/branches/ANT_SITE/contributors.xml Mon Dec 13 18:34:00 2010
    @@ -72,6 +72,10 @@
    </name>
    <name>
    <first>Andrew</first>
    + <last>Eisenberg</last>
    + </name>
    + <name>
    + <first>Andrew</first>
    <last>Everitt</last>
    </name>
    <name>
    @@ -157,6 +161,10 @@
    <last>Dutkowski</last>
    </name>
    <name>
    + <first>Bernhard</first>
    + <last>Rosenkraenzer</last>
    + </name>
    + <name>
    <first>Brad</first>
    <last>Clark</last>
    </name>
    @@ -304,6 +312,10 @@
    <last>Ferrin</last>
    </name>
    <name>
    + <first>Danny</first>
    + <last>Yates</last>
    + </name>
    + <name>
    <first>Dante</first>
    <last>Briones</last>
    </name>
    @@ -370,6 +382,11 @@
    <last>Slager</last>
    </name>
    <name>
    + <first>Devon</first>
    + <middle>C.</middle>
    + <last>Miller</last>
    + </name>
    + <name>
    <first>Diane</first>
    <last>Holt</last>
    </name>
    @@ -378,6 +395,11 @@
    <last>Gillard</last>
    </name>
    <name>
    + <first>Dmitry</first>
    + <middle>A.</middle>
    + <last>Kuminov</last>
    + </name>
    + <name>
    <first>Dominique</first>
    <last>Devienne</last>
    </name>
    @@ -729,6 +751,11 @@
    </name>
    <name>
    <first>Kevin</first>
    + <middle>Connor</middle>
    + <last>Arpe</last>
    + </name>
    + <name>
    + <first>Kevin</first>
    <last>Greiner</last>
    </name>
    <name>
    @@ -805,6 +832,10 @@
    </name>
    <name>
    <first>Mark</first>
    + <last>DeLaFranier</last>
    + </name>
    + <name>
    + <first>Mark</first>
    <last>Hecker</last>
    </name>
    <name>
    @@ -1441,4 +1472,8 @@
    <first>Zdenek</first>
    <last>Wagner</last>
    </name>
    + <name>
    + <first/>
    + <last>riasol</last>
    + </name>
    </contributors>
  • Antoine at Dec 13, 2010 at 6:34 pm
    Modified: ant/core/branches/ANT_SITE/docs/mail.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/mail.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/mail.html (original)
    +++ ant/core/branches/ANT_SITE/docs/mail.html Mon Dec 13 18:34:00 2010
    @@ -99,7 +99,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -139,6 +139,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -155,6 +158,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -165,9 +171,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -204,7 +207,7 @@
    </h3>
    <p>Please read the <a href="http://jakarta.apache.org/site/mail.html">guidelines of
    the Jakarta Project</a> before subscribing and posting to any of
    - the lists below. They apply to Ant's lists as well.</p>
    + the lists below. They apply to Apache Ant's lists as well.</p>
    <p>The user and dev list are subscriber only lists, this means
    you have to subscribe before you can post to the list. Please
    note that any HTML parts sent to the lists will be removed by our
    @@ -225,7 +228,7 @@
    </p>
    <p>This list is for developers that are using Ant in their own
    projects to ask questions, share knowledge, and discuss issues
    - related to using Ant as a build tool.</p>
    + related to using Apache Ant as a build tool.</p>
    <h4 class="subsection">
    <a name="Ivy User List: ivy-user@ant.apache.org"></a>
    Ivy User List: ivy-user@ant.apache.org
    @@ -238,7 +241,7 @@
    </p>
    <p>This list is for developers that are using Ivy or IvyDE in
    their own projects to ask questions, share knowledge, and
    - discuss issues related to using Ivy with or without Ant.</p>
    + discuss issues related to using Apache Ivy with or without Apache Ant.</p>
    <h4 class="subsection">
    <a name="Developer List: dev@ant.apache.org"></a>
    Developer List: dev@ant.apache.org
    @@ -250,8 +253,8 @@
    <a href="http://mail-archives.apache.org/mod_mbox/ant-dev/">ASF Archive</a>
    <a href="http://marc.theaimsgroup.com/?l=ant-dev&amp;r=1&amp;w=2">Third Party Archive</a>
    </p>
    - <p>This is the list where participating developers of the Ant
    - build tool, Ivy or the Ant libraries developed by the Ant team
    + <p>This is the list where participating developers of the Apache Ant
    + build tool, Apache Ivy or the Ant libraries developed by the Ant team
    meet and discuss issues, code changes/additions, etc.</p>
    <h4 class="subsection">
    <a name="Notifications List: notifications@ant.apache.org"></a>
    @@ -299,7 +302,7 @@
    <ul>
    <li><a href="http://mail-archives.apache.org/mod_mbox/">List Index on mail-archives.apache.org</a></li>
    <li><a href="http://ant.apache.org/mail/">Full mbox archives of all lists</a></li>
    - <li><a href="http://marc.theaimsgroup.com/">Mailing list Archives</a></li>
    + <li><a href="http://marc.info/">Mailing list Archives</a></li>
    <li><a href="http://news.gmane.org/gmane.comp.jakarta.ant.devel/">Ant Developer List on gmane</a></li>
    <li><a href="http://news.gmane.org/gmane.comp.jakarta.ant.user/">Ant User List on gmane</a></li>
    <li><a href="http://old.nabble.com/Ant---Dev-f108.html">Ant Developer List on nabble</a></li>

    Modified: ant/core/branches/ANT_SITE/docs/manual/Integration/jext-plugin.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/Integration/jext-plugin.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/Integration/jext-plugin.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/Integration/jext-plugin.html Mon Dec 13 18:34:00 2010
    @@ -36,7 +36,7 @@ href="ftp://jext.sourceforge.net/pub/jex

    <h2>Installation instructions from the Readme.txt:</h2>

    -<p>You have to enable the Jext Console to see the Ant output (menu:
    +<p>You have to enable the Jext Console to see the Apache Ant output (menu:
    Edit-&gt;Options... - General Panel), because the Ant messages are
    redirected to the Jext console.</p>


    Modified: ant/core/branches/ANT_SITE/docs/manual/antexternal.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/antexternal.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/antexternal.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/antexternal.html Mon Dec 13 18:34:00 2010
    @@ -23,11 +23,11 @@
    </head>

    <body>
    -<h1>Using Ant Tasks Outside of Ant</h1>
    +<h1>Using Apache Ant&trade; Tasks Outside of Ant</h1>

    <h2>Rationale</h2>

    -<p>Ant provides a rich set of tasks for buildfile creators and
    +<p>Apache Ant provides a rich set of tasks for buildfile creators and
    administrators. But what about programmers? Can the functionality
    provided by Ant tasks be used in java programs?</p>


    Modified: ant/core/branches/ANT_SITE/docs/manual/anttaskslist.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/anttaskslist.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/anttaskslist.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/anttaskslist.html Mon Dec 13 18:34:00 2010
    @@ -28,11 +28,10 @@

    <h2><a href="toc.html" target="navFrame">Table of Contents</a></h2>

    -<h3>Ant Tasks</h3>
    +<h3>Apache Ant Tasks</h3>
    <ul class="inlinelist">
    <li><a href="tasksoverview.html" target="mainFrame">Overview of Ant Tasks</a></li>
    -<li><a href="coretasklist.html" target="navFrame">Core Tasks</a></li>
    -<li><a href="optionaltasklist.html" target="navFrame">Optional Tasks</a></li>
    +<li><a href="tasklist.html" target="navFrame">List of Tasks</a></li>
    <div style="padding-left:1em">
    <li><a href="install.html#librarydependencies" target="mainFrame">Library Dependencies</a></li>
    </div>

    Modified: ant/core/branches/ANT_SITE/docs/manual/api/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/api/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/api/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/api/index.html Mon Dec 13 18:34:00 2010
    @@ -27,5 +27,10 @@ href="http://ant.apache.org/">ant.apache
    on purpose. We do not provide an online version of the API docs, they
    are included with all our distributions.</p>

    +<p align="left">Ant's manual and API documentation is part of
    + the <a href="http://ant.apache.org/bindownload.cgi">binary</a>
    + distributions or available as a
    + separate <a href="http://ant.apache.org/manualdownload.cgi">archive</a>.
    +</p>
    </body>
    </html>

    Modified: ant/core/branches/ANT_SITE/docs/manual/clonevm.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/clonevm.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/clonevm.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/clonevm.html Mon Dec 13 18:34:00 2010
    @@ -26,12 +26,12 @@

    <h2><a name="clonevm">ant.build.clonevm</a></h2>

    -<p><em>Since Ant 1.7</em></p>
    +<p><em>Since Apache Ant 1.7</em></p>

    <p>The value of the ant.build.clonevm system property controls how Ant
    instruments forked Java Virtual Machines. The <a
    -href="CoreTasks/java.html">java</a> and <a
    -href="OptionalTasks/junit.html">junit</a> tasks support clonevm
    +href="Tasks/java.html">java</a> and <a
    +href="Tasks/junit.html">junit</a> tasks support clonevm
    attributes to control the VMs on a task-by-task basis while the system
    property applies to all forked Java VMs.</p>


    Modified: ant/core/branches/ANT_SITE/docs/manual/conceptstypeslist.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/conceptstypeslist.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/conceptstypeslist.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/conceptstypeslist.html Mon Dec 13 18:34:00 2010
    @@ -34,58 +34,54 @@
    <li><a href="clonevm.html">ant.build.clonevm</a></li>
    <li><a href="sysclasspath.html">build.sysclasspath</a></li>
    <li><a href="javacprops.html">Ant properties controlling javac</a></li>
    -<li><a href="CoreTasks/common.html">Common Attributes</a></li>
    +<li><a href="Tasks/common.html">Common Attributes</a></li>
    </ul>

    -<h3>Core Types</h3>
    +<h3>List of Types</h3>
    <ul class="inlinelist">
    -<li><a href="CoreTypes/description.html">Description Type</a></li>
    +<li><a href="Types/classfileset.html">Class Fileset</a></li>
    +<li><a href="Types/description.html">Description Type</a></li>
    <li><a href="dirtasks.html">Directory-based Tasks</a></li>
    -<li><a href="CoreTypes/dirset.html">DirSet</a></li>
    -<li><a href="CoreTypes/filelist.html">FileList</a></li>
    -<li><a href="CoreTypes/fileset.html">FileSet</a></li>
    -<li><a href="CoreTypes/mapper.html">File Mappers</a></li>
    -<li><a href="CoreTypes/filterchain.html">FilterChains and FilterReaders</a></li>
    -<li><a href="CoreTypes/filterset.html">FilterSet</a></li>
    -<li><a href="CoreTypes/patternset.html">PatternSet</a></li>
    +<li><a href="Types/dirset.html">DirSet</a></li>
    +<li><a href="Types/extension.html">Extension Package</a></li>
    +<li><a href="Types/extensionset.html">Set of Extension Packages</a></li>
    +<li><a href="Types/filelist.html">FileList</a></li>
    +<li><a href="Types/fileset.html">FileSet</a></li>
    +<li><a href="Types/mapper.html">File Mappers</a></li>
    +<li><a href="Types/filterchain.html">FilterChains and FilterReaders</a></li>
    +<li><a href="Types/filterset.html">FilterSet</a></li>
    +<li><a href="Types/patternset.html">PatternSet</a></li>
    <li><a href="using.html#path">Path-like Structures</a></li>
    -<li><a href="CoreTypes/permissions.html">Permissions</a></li>
    -<li><a href="CoreTypes/propertyset.html">PropertySet</a></li>
    -<li><a href="CoreTypes/redirector.html">I/O Redirectors</a></li>
    -<li><a href="CoreTypes/regexp.html">Regexp</a></li>
    -<li><a href="CoreTypes/resources.html">Resources</a></li>
    -<li><a href="CoreTypes/resources.html#collection">Resource Collections</a></li>
    -<li><a href="CoreTypes/selectors.html">Selectors</a></li>
    -<li><a href="CoreTypes/tarfileset.html">TarFileSet</a></li>
    -<li><a href="CoreTypes/xmlcatalog.html">XMLCatalog</a></li>
    -<li><a href="CoreTypes/zipfileset.html">ZipFileSet</a></li>
    -</ul>
    -
    -<h3>Optional Types</h3>
    -<ul class="inlinelist">
    -<li><a href="OptionalTypes/classfileset.html">Class Fileset</a></li>
    -<li><a href="OptionalTypes/extension.html">Extension Package</a></li>
    -<li><a href="OptionalTypes/extensionset.html">Set of Extension Packages</a></li>
    +<li><a href="Types/permissions.html">Permissions</a></li>
    +<li><a href="Types/propertyset.html">PropertySet</a></li>
    +<li><a href="Types/redirector.html">I/O Redirectors</a></li>
    +<li><a href="Types/regexp.html">Regexp</a></li>
    +<li><a href="Types/resources.html">Resources</a></li>
    +<li><a href="Types/resources.html#collection">Resource Collections</a></li>
    +<li><a href="Types/selectors.html">Selectors</a></li>
    +<li><a href="Types/tarfileset.html">TarFileSet</a></li>
    +<li><a href="Types/xmlcatalog.html">XMLCatalog</a></li>
    +<li><a href="Types/zipfileset.html">ZipFileSet</a></li>
    </ul>

    <h3>Namespace</h3>
    <ul class="inlinelist">
    -<li><a href="CoreTypes/namespace.html">Namespace Support</a></li>
    +<li><a href="Types/namespace.html">Namespace Support</a></li>
    </ul>

    <h3>Antlib</h3>
    <ul class="inlinelist">
    -<li><a href="CoreTypes/antlib.html">Antlib</a></li>
    -<li><a href="CoreTypes/antlib.html#antlibnamespace">Antlib namespace</a></li>
    -<li><a href="CoreTypes/antlib.html#currentnamespace">Current namespace</a></li>
    +<li><a href="Types/antlib.html">Antlib</a></li>
    +<li><a href="Types/antlib.html#antlibnamespace">Antlib namespace</a></li>
    +<li><a href="Types/antlib.html#currentnamespace">Current namespace</a></li>
    </ul>

    <h3>Custom Components</h3>
    <ul class="inlinelist">
    -<li><a href="CoreTypes/custom-programming.html">Custom Components</a></li>
    -<li><a href="CoreTypes/custom-programming.html#customconditions">Conditions</a></li>
    -<li><a href="CoreTypes/custom-programming.html#customselectors">Selectors</a></li>
    -<li><a href="CoreTypes/custom-programming.html#filterreaders">FilterReaders</a></li>
    +<li><a href="Types/custom-programming.html">Custom Components</a></li>
    +<li><a href="Types/custom-programming.html#customconditions">Conditions</a></li>
    +<li><a href="Types/custom-programming.html#customselectors">Selectors</a></li>
    +<li><a href="Types/custom-programming.html#filterreaders">FilterReaders</a></li>
    </ul>

    </body>

    Modified: ant/core/branches/ANT_SITE/docs/manual/cover.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/cover.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/cover.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/cover.html Mon Dec 13 18:34:00 2010
    @@ -19,14 +19,14 @@
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    -<title>Apache Ant 1.8.0 User Manual</title>
    +<title>Apache Ant 1.8.1 User Manual</title>
    </head>

    <body bgcolor="#FFFFFF">
    <div align="center">
    <h1><img src="../images/ant_logo_large.gif" width="190" height="120"></h1>
    - <h1>Apache Ant 1.8.0 Manual</h1>
    - <p align="left">This is the manual for version 1.8.0 of
    + <h1>Apache Ant&trade; 1.8.1 Manual</h1>
    + <p align="left">This is the manual for version 1.8.1 of
    <a target="_top" href="http://ant.apache.org/index.html">Apache Ant</a>.
    If your version
    of Ant (as verified with <tt>ant -version</tt>) is older or newer than this
    @@ -35,6 +35,17 @@
    older than the most recent release, we recommend an upgrade to fix bugs
    as well as provide new functionality. </p>
    <p>&nbsp;</p>
    +
    + <p align="left">Ant's manual and API documentation is part of
    + the <a href="http://ant.apache.org/bindownload.cgi">binary</a>
    + distributions or available as a
    + separate <a href="http://ant.apache.org/manualdownload.cgi">archive</a>.
    + Manuals for older releases are available for
    + download
    + <a href="http://ant.apache.org/bindownload.cgi#Old Ant Releases">as
    + well</a>.</p>
    +
    + <p>Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.</p>
    </div>



    Modified: ant/core/branches/ANT_SITE/docs/manual/credits.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/credits.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/credits.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/credits.html Mon Dec 13 18:34:00 2010
    @@ -62,7 +62,7 @@
    </ul>

    <center>
    -<p>Version: 1.8.0</p>
    +<p>Version: 1.8.1</p>
    </center>



    Modified: ant/core/branches/ANT_SITE/docs/manual/develop.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/develop.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/develop.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/develop.html Mon Dec 13 18:34:00 2010
    @@ -23,7 +23,7 @@
    </head>

    <body>
    -<h1>Developing with Ant</h1>
    +<h1>Developing with Apache Ant</h1>

    <h2><a name="writingowntask">Writing Your Own Task</a></h2>
    <p>It is very easy to write your own task:</p>
    @@ -41,7 +41,7 @@
    conversions for you, see <a href="#set-magic">below</a>.</li>

    <li>If your task shall contain other tasks as nested elements (like
    - <a href="CoreTasks/parallel.html"><code>parallel</code></a>), your
    + <a href="Tasks/parallel.html"><code>parallel</code></a>), your
    class must implement the interface
    <code>org.apache.tools.ant.TaskContainer</code>. If you do so, your
    task can not support any other nested elements. See
    @@ -135,7 +135,7 @@ good convention, though.</p>

    <p>Ant will always expand properties before it passes the value of an
    attribute to the corresponding setter method. <b>Since Ant 1.8</b>, it is
    -possible to <a href="CoreTasks/propertyhelper.html">extend Ant's property handling</a>
    +possible to <a href="Tasks/propertyhelper.html">extend Ant's property handling</a>
    such that a non-string Object may be the result of the evaluation of a string
    containing a single property reference. These will be assigned directly via
    setter methods of matching type. Since it requires some beyond-the-basics
    @@ -486,9 +486,9 @@ for the following events</P>
    </ul>

    <p>If the build file invokes another build file via <a
    -href="CoreTasks/ant.html"><code>&lt;ant&gt;</code></a> or <a
    -href="CoreTasks/subant.html"><code>&lt;subant&gt;</code></a> or uses <a
    -href="CoreTasks/antcall.html"><code>&lt;antcall&gt;</code></a>, you are creating a
    +href="Tasks/ant.html"><code>&lt;ant&gt;</code></a> or <a
    +href="Tasks/subant.html"><code>&lt;subant&gt;</code></a> or uses <a
    +href="Tasks/antcall.html"><code>&lt;antcall&gt;</code></a>, you are creating a
    new Ant "project" that will send target and task level events of its
    own but never sends build started/finished events. Ant 1.6.2
    introduces an extension of the BuildListener interface named

    Modified: ant/core/branches/ANT_SITE/docs/manual/developlist.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/developlist.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/developlist.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/developlist.html Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,7 @@

    <h2><a href="toc.html" target="navFrame">Table of Contents</a></h2>

    -<h3>Developing with Ant</h3>
    +<h3>Developing with Apache Ant</h3>

    <ul class="inlinelist">
    <li><a href="../ant_in_anger.html">Ant in Anger</a></li>

    Modified: ant/core/branches/ANT_SITE/docs/manual/dirtasks.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/dirtasks.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/dirtasks.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/dirtasks.html Mon Dec 13 18:34:00 2010
    @@ -26,31 +26,31 @@

    <h2><a name="directorybasedtasks">Directory-based Tasks</a></h2>
    <p>Some tasks use directory trees for the actions they perform.
    -For example, the <a href="CoreTasks/javac.html">javac</a> task, which
    +For example, the <a href="Tasks/javac.html">javac</a> task, which
    compiles a directory tree with <code>.java</code> files into
    <code>.class</code> files, is one of these directory-based tasks. Because
    some of these tasks do so much work with a directory tree, the task itself
    -can act as an implicit <a href="CoreTypes/fileset.html">FileSet</a>.</p>
    +can act as an implicit <a href="Types/fileset.html">FileSet</a>.</p>
    <p>Whether the fileset is implicit or not, it can often be very useful to
    work on a subset of the directory tree. This section describes how you can
    select a subset of such a directory tree when using one of these
    directory-based tasks.</p>
    -<p>Ant gives you two ways to create a subset of files in a fileset, both of
    +<p>Apache Ant gives you two ways to create a subset of files in a fileset, both of
    which can be used at the same time:</p>
    <ul>
    <li>Only include files and directories that match any
    <code>include</code> patterns and do not match any
    <code>exclude</code> patterns in a given
    - <a href="CoreTypes/patternset.html">PatternSet</a>.</li>
    + <a href="Types/patternset.html">PatternSet</a>.</li>
    <li>Select files based on selection criteria defined by a collection of
    - <a href="CoreTypes/selectors.html">selector</a> nested elements.</li>
    + <a href="Types/selectors.html">selector</a> nested elements.</li>
    </ul>
    <h3><a name="patternset">Patternset</a></h3>

    <p>We said that Directory-based tasks can sometimes act as an implicit
    -<a href="CoreTypes/fileset.html"><code>&lt;fileset&gt;</code></a>,
    +<a href="Types/fileset.html"><code>&lt;fileset&gt;</code></a>,
    but in addition to that, a FileSet acts as an implicit
    -<a href="CoreTypes/patternset.html"><code>&lt;patternset&gt;</code></a>.</p>
    +<a href="Types/patternset.html"><code>&lt;patternset&gt;</code></a>.</p>

    <p>The inclusion and exclusion elements of the implicit PatternSet can be
    specified inside the directory-based task (or explicit fileset) via
    @@ -190,13 +190,13 @@ For example, <code>mypackage/test/</code
    way to select just the files you want.</p>

    <h3><a name="selectors">Selectors</a></h3>
    -<p>The <a href="CoreTypes/fileset.html"><code>&lt;fileset&gt;</code></a>,
    +<p>The <a href="Types/fileset.html"><code>&lt;fileset&gt;</code></a>,
    whether implicit or explicit in the
    directory-based task, also acts as an
    -<a href="CoreTypes/selectors.html#andselect"><code>&lt;and&gt;</code></a>
    +<a href="Types/selectors.html#andselect"><code>&lt;and&gt;</code></a>
    selector container. This can be used to create arbitrarily complicated
    selection criteria for the files the task should work with. See the
    -<a href="CoreTypes/selectors.html">Selector</a> documentation for more
    +<a href="Types/selectors.html">Selector</a> documentation for more
    information.</p>

    <h3><a name="tasklist">Standard Tasks/Filesets</a></h3>
    @@ -204,32 +204,32 @@ information.</p>
    the rules given here. This list, a subset of those, is a list of standard ant
    tasks that can act as an implicit fileset:</p>
    <ul>
    - <li><a href="CoreTasks/checksum.html"><code>&lt;checksum&gt;</code></a></li>
    - <li><a href="CoreTasks/copydir.html"><code>&lt;copydir&gt;</code></a> (deprecated)</li>
    - <li><a href="CoreTasks/delete.html"><code>&lt;delete&gt;</code></a></li>
    - <li><a href="CoreTasks/dependset.html"><code>&lt;dependset&gt;</code></a></li>
    - <li><a href="CoreTasks/fixcrlf.html"><code>&lt;fixcrlf&gt;</code></a></li>
    - <li><a href="CoreTasks/javac.html"><code>&lt;javac&gt;</code></a></li>
    - <li><a href="CoreTasks/replace.html"><code>&lt;replace&gt;</code></a></li>
    - <li><a href="CoreTasks/rmic.html"><code>&lt;rmic&gt;</code></a></li>
    - <li><a href="CoreTasks/style.html"><code>&lt;style&gt;</code> (aka <code>&lt;xslt&gt;</code>)</a></li>
    - <li><a href="CoreTasks/tar.html"><code>&lt;tar&gt;</code></a></li>
    - <li><a href="CoreTasks/zip.html"><code>&lt;zip&gt;</code></a></li>
    - <li><a href="OptionalTasks/ejb.html#ddcreator"><code>&lt;ddcreator&gt;</code></a></li>
    - <li><a href="OptionalTasks/ejb.html#ejbjar"><code>&lt;ejbjar&gt;</code></a></li>
    - <li><a href="OptionalTasks/ejb.html#ejbc"><code>&lt;ejbc&gt;</code></a></li>
    - <li><a href="OptionalTasks/cab.html"><code>&lt;cab&gt;</code></a></li>
    - <li><a href="OptionalTasks/native2ascii.html"><code>&lt;native2ascii&gt;</code></a></li>
    - <li><a href="OptionalTasks/netrexxc.html"><code>&lt;netrexxc&gt;</code></a></li>
    + <li><a href="Tasks/checksum.html"><code>&lt;checksum&gt;</code></a></li>
    + <li><a href="Tasks/copydir.html"><code>&lt;copydir&gt;</code></a> (deprecated)</li>
    + <li><a href="Tasks/delete.html"><code>&lt;delete&gt;</code></a></li>
    + <li><a href="Tasks/dependset.html"><code>&lt;dependset&gt;</code></a></li>
    + <li><a href="Tasks/fixcrlf.html"><code>&lt;fixcrlf&gt;</code></a></li>
    + <li><a href="Tasks/javac.html"><code>&lt;javac&gt;</code></a></li>
    + <li><a href="Tasks/replace.html"><code>&lt;replace&gt;</code></a></li>
    + <li><a href="Tasks/rmic.html"><code>&lt;rmic&gt;</code></a></li>
    + <li><a href="Tasks/style.html"><code>&lt;style&gt;</code> (aka <code>&lt;xslt&gt;</code>)</a></li>
    + <li><a href="Tasks/tar.html"><code>&lt;tar&gt;</code></a></li>
    + <li><a href="Tasks/zip.html"><code>&lt;zip&gt;</code></a></li>
    + <li><a href="Tasks/ejb.html#ddcreator"><code>&lt;ddcreator&gt;</code></a></li>
    + <li><a href="Tasks/ejb.html#ejbjar"><code>&lt;ejbjar&gt;</code></a></li>
    + <li><a href="Tasks/ejb.html#ejbc"><code>&lt;ejbc&gt;</code></a></li>
    + <li><a href="Tasks/cab.html"><code>&lt;cab&gt;</code></a></li>
    + <li><a href="Tasks/native2ascii.html"><code>&lt;native2ascii&gt;</code></a></li>
    + <li><a href="Tasks/netrexxc.html"><code>&lt;netrexxc&gt;</code></a></li>
    <li>
    - <a href="OptionalTasks/renameextensions.html"><code>&lt;renameextensions&gt;</code></a>
    + <a href="Tasks/renameextensions.html"><code>&lt;renameextensions&gt;</code></a>
    </li>
    - <li><a href="OptionalTasks/depend.html"><code>&lt;depend&gt;</code></a></li>
    - <li><a href="OptionalTasks/translate.html"><code>&lt;translate&gt;</code></a></li>
    - <li><a href="OptionalTasks/image.html"><code>&lt;image&gt;</code></a></li>
    - <li><a href="OptionalTasks/jlink.html"><code>&lt;jlink&gt;</code></a> (deprecated)</li>
    - <li><a href="OptionalTasks/jspc.html"><code>&lt;jspc&gt;</code></a></li>
    - <li><a href="OptionalTasks/wljspc.html"><code>&lt;wljspc&gt;</code></a></li>
    + <li><a href="Tasks/depend.html"><code>&lt;depend&gt;</code></a></li>
    + <li><a href="Tasks/translate.html"><code>&lt;translate&gt;</code></a></li>
    + <li><a href="Tasks/image.html"><code>&lt;image&gt;</code></a></li>
    + <li><a href="Tasks/jlink.html"><code>&lt;jlink&gt;</code></a> (deprecated)</li>
    + <li><a href="Tasks/jspc.html"><code>&lt;jspc&gt;</code></a></li>
    + <li><a href="Tasks/wljspc.html"><code>&lt;wljspc&gt;</code></a></li>
    </ul>

    <h3><a name="examples">Examples</a></h3>
    @@ -265,7 +265,7 @@ as an implicit fileset.</p>

    <h3><a name="defaultexcludes">Default Excludes</a></h3>
    <p>There are a set of definitions that are excluded by default from all
    -directory-based tasks. They are:</p>
    +directory-based tasks. As of Ant 1.8.1 they are:</p>
    <pre>
    **/*~
    **/#*#
    @@ -282,13 +282,30 @@ directory-based tasks. They are:</p>
    **/.svn/**
    **/.DS_Store
    </pre>
    +<p>Ant 1.8.2 adds the folllowing default excludes:</p>
    +<pre>
    + **/.git
    + **/.git/**
    + **/.gitattributes
    + **/.gitignore
    + **/.gitmodules
    + **/.hg
    + **/.hg/**
    + **/.hgignore
    + **/.hgsub
    + **/.hgsubstate
    + **/.hgtags
    + **/.bzr
    + **/.bzr/**
    + **/.bzrignore
    +</pre>
    <p>If you do not want these default excludes applied, you may disable
    them with the <code>defaultexcludes=&quot;no&quot;</code>
    attribute.</p>

    <p>This is the default list; note that you can modify the list of
    default excludes by using the <a
    -href="CoreTasks/defaultexcludes.html">defaultexcludes</a> task.</p>
    +href="Tasks/defaultexcludes.html">defaultexcludes</a> task.</p>




    Modified: ant/core/branches/ANT_SITE/docs/manual/feedback.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/feedback.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/feedback.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/feedback.html Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,7 @@
    <h1><a name="feedback">Feedback</a> and Troubleshooting</h1>
    <p>If things do not work, especially simple things like <tt>ant -version</tt>,
    then something is wrong with your configuration. Before filing bug reports and
    - emailing all the ant mailing lists</p>
    + emailing all the Apache Ant mailing lists</p>
    <ol>
    <li>Check your environment variables. Are ANT_HOME and JAVA_HOME correct? If
    they have quotes or trailing slashes, remove them.</li>

    Modified: ant/core/branches/ANT_SITE/docs/manual/ide.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/ide.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/ide.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/ide.html Mon Dec 13 18:34:00 2010
    @@ -29,7 +29,7 @@

    <h3>IDE Integration</h3>
    <p>
    -All the modern Java IDEs support Ant almost out of the box.
    +All the modern Java IDEs support Apache Ant almost out of the box.
    </p>

    <ul>

    Modified: ant/core/branches/ANT_SITE/docs/manual/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/index.html Mon Dec 13 18:34:00 2010
    @@ -19,7 +19,7 @@
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    -<title>Apache Ant User Manual</title>
    +<title>Apache Ant&trade; User Manual</title>
    </head>

    <frameset cols="26%,74%">
    @@ -27,7 +27,7 @@
    <frame src="cover.html" name="mainFrame">
    </frameset>
    <noframes>
    -<H2>Apache Ant User Manual</H2>
    +<H2>Apache Ant&trade; User Manual</H2>

    <a href="toc.html">Apache Ant User Manual</a></noframes>


    Modified: ant/core/branches/ANT_SITE/docs/manual/inputhandler.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/inputhandler.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/inputhandler.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/inputhandler.html Mon Dec 13 18:34:00 2010
    @@ -29,7 +29,7 @@

    <p>When a task wants to prompt a user for input, it doesn't simply
    read the input from the console as this would make it impossible to
    -embed Ant in an IDE. Instead it asks an implementation of the
    +embed Apache Ant in an IDE. Instead it asks an implementation of the
    <code>org.apache.tools.ant.input.InputHandler</code> interface to
    prompt the user and hand the user input back to the task.</p>


    Modified: ant/core/branches/ANT_SITE/docs/manual/install.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/install.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/install.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/install.html Mon Dec 13 18:34:00 2010
    @@ -19,14 +19,125 @@
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    -<title>Installing Ant</title>
    +<title>Installing Apache Ant</title>
    </head>

    <body>
    -<h1>Installing Ant</h1>
    -<h2><a name="getting">Getting Ant</a></h2>
    +<h1>Installing Apache Ant</h1>
    +<h2><a name="getting">Getting Apache Ant</a></h2>

    -<h3>Download Area Layout</h3>
    +<h3>The Short Story</h3>
    +<p>To get up and running with the binary edition of Ant quickly, follow these steps:
    +<ol>
    +<li>Make sure you have a Java environment installed, See <a href="#sysrequirements">System
    +Requirements</a> for details.</li>
    +<li>Download Ant. See <a href="#getBinary">Binary Edition</a> for details.</li>
    +<li>Uncompress the downloaded file into a directory.</li>
    +<li>Set environmental variables <code>JAVA_HOME</code> to your Java environment, <code>ANT_HOME</code> to
    +the directory you uncompressed Ant to, and add <code>${ANT_HOME}/bin</code> (Unix) or
    +<code>%ANT_HOME%/bin</code> (Windows) to your <code>PATH</code>. See <a href="#setup">Setup</a> for details.</li>
    +<li>Optionally, from the <code>ANT_HOME</code> directory run <code>ant -f fetch.xml -Ddest=system</code> to get
    +the library dependencies of most of the Ant tasks that require them. If you don't do this, many of the dependent
    +Ant tasks will not be available. See <a href="#optionalTasks">Optional Tasks</a> for details and other options
    +for the -Ddest parameter.</li>
    +<li>Optionally, add any desired Antlibs. See <a href="http://ant.apache.org/antlibs/proper.html" target="_top">Ant Libraries</a> for a list.
    +</ol>
    +</p>
    +<p>
    +Note that the links in the list above will give more details about each of the steps,
    +should you need them. Or you can just continue reading the rest of this document.
    +</p>
    +The short story for working with the Ant source code (not needed if you are working with the binary edition) is:
    +<ol>
    +<li>Get the source code. See <a href="#sourceEdition">Source Edition</a> for details.</li>
    +<li> Build Ant. See <a href="#buildingant">Building Ant</a> for details.</li>
    +</ol>
    +<p>
    +</p>
    +<p>
    +For the full story, continue reading.
    +</p>
    +
    +<h3><a name="getBinary">Binary Edition</a></h3>
    +
    +<p>The latest stable version of Ant is available from the Ant web page <a
    +href="http://ant.apache.org/" target="_top">http://ant.apache.org/</a>
    +</p>
    +
    +<p>The binary edition of Ant is shipped with 3 different compression formats:
    +<ol>
    +<li><b>.zip</b> - Recommended compression format for Windows, can also be used on other platforms. Supported
    +by many programs and some operating systems natively.</li>
    +<li><b>.tar.gz</b> - Uses the tar program to gather files together, and gzip to compress and uncompress.</li>
    +<li><b>.tar.bz2</b> - Uses the tar program to gather files together, and bzip2 to compress and uncompress..</li>
    +</ol>
    +Choose the format that is best supported for your platform.
    +</p>
    +
    +<h3>As a binary in an RPM Package</h3>
    +
    +<p>Consult the <a href="#jpackage">jpackage</a> section below.</p>
    +
    +<h3>Bundled in IDEs</h3>
    +<p>
    + All the main Java IDEs ship with Ant, products such as Eclipse, NetBeans
    + and IntelliJ IDEA. If you install Ant this way you usually get the most recent
    + release of Ant at the time the IDE was released. Some of the IDEs (Eclipse
    + and NetBeans in particular) ship with extra tasks that only work if
    + IDE-specific tools are on Ant's path. To use these on command-line versions
    + of Ant, the relevant JARs need to be added to the command-line Ant as
    + extra libraries/tasks. Note that if it is an IDE task or extension that is
    + not behaving, the Ant team is unable to field bug reports. Try the IDE mailing
    + lists first, who will cross-file bugs if appropriate.
    +</p>
    +<p>
    + IDE's can invariably be pointed at different Ant installations. This lets
    + developers upgrade to a new release of Ant, and eliminate inconsistencies
    + between command-line and IDE Ant.
    +</p>
    +
    +<h3>Bundled in Java applications</h3>
    +
    +<p>
    + Many Java applications, most particularly application servers, ship with
    + a version of Ant. These are primarily for internal use by the application,
    + using the Java APIs to delegate tasks such as JSP page compilation to the Ant
    + runtime. Such distributions are usually unsupported by everyone. Particularly
    + troublesome are those products that not only ship with their own Ant release,
    + they add their own version of ANT.BAT or ant.sh to the PATH. If Ant starts
    + behaving wierdly after installing something, try the
    + <a href="#diagnostics">diagnostics</a> advice.
    +</p>
    +
    +<h3><a name="sourceEdition">Source Edition</a></h3>
    +
    +<p>If you prefer the source edition, you can download the source for the latest
    +Ant release from
    +<a href="http://ant.apache.org/srcdownload.cgi" target="_top">http://ant.apache.org/srcdownload.cgi</a>.
    +
    +If you prefer the leading-edge code, you can access
    +the code as it is being developed via SVN. The Ant website has details on
    +<a href="http://ant.apache.org/svn.html" target="_top">accessing SVN</a>.
    +All bug fixes will go in against the HEAD of the source tree, and the first
    +response to many bugreps will be "have you tried the latest version".
    +Don't be afraid to download and build a prererelease edition, as everything
    +other than new features are usually stable.
    + </p>
    +<p>
    +
    +
    +See the section <a href="#buildingant">Building Ant</a> on how to
    +build Ant from the source code.
    +You can also access the
    +<a href="http://svn.apache.org/viewcvs.cgi/ant/" target="_top">
    +Ant SVN repository</a> on-line. </p>
    +
    +<h3 name="archives">Archive Download Area Layout</h3>
    +<p>
    +Older versions of Ant are available in the archives at <a
    +href="http://archive.apache.org/dist/ant/" target="_top">http://archive.apache.org/dist/ant/</a>. The
    +files are organized as follows.
    +</p>
    <table>
    <tr>
    <th>Filename or Path</th>
    @@ -46,8 +157,10 @@
    <tr>
    <td>ant-current-bin.zip</td>
    <td>
    - ZIP-Archive containing the compiled version of Ant in the last released version. This is the file
    - most users will want to download.
    + ZIP-Archive containing the compiled version of Ant in the last released version. It is recommended that
    + you do not download the latest version this way, as the standard way of downloading described above will
    + redirect you to a mirror closer to you, thus making the download faster for you and reducing the load
    + on Apache servers.
    </td>
    </tr>
    <tr>
    @@ -55,7 +168,8 @@
    <td>
    ZIP-Archive containing the sources of Ant. If you have this you could compile Ant itself.
    If you do not have the <i>required</i> dependencies, the classes depeding on them are just not
    - build.
    + built. Again, it is preferred to use the standard way of getting the source package described above
    + to make your download quicker and to reduce the load on Apache servers.
    </td>
    </tr>
    <tr>
    @@ -91,7 +205,7 @@
    <td>binaries/</td>
    <td>
    The binaries directory holds specific Ant releases bundled in both ZIP and tar.gz compression
    - formats. The named releases are in contrast to the ant-current-bin.zip file in the parent
    + formats. The named releases are in contrast to the ant-current-bin.zip file in the parent
    directory, which is always guaranteed to be the most current release of Ant.
    </td>
    </tr>
    @@ -105,76 +219,14 @@
    <tr>
    <td>source/</td>
    <td>
    - The source directory holds the source code for specific Ant releases bundled in both ZIP and
    + The source directory holds the source code for specific Ant releases bundled in both ZIP and
    tar.gz compression formats. The named releases are in contrast to the ant-current-src.zip file
    - in the parent directory, which is always guaranteed to hold the source code for the most current
    + in the parent directory, which is always guaranteed to hold the source code for the most current
    release of Ant.
    </td>
    </tr>
    </table>

    -<h3>Binary Edition</h3>
    -<p>The latest stable version of Ant is available from the Ant web page <a
    -href="http://ant.apache.org/" target="_top">http://ant.apache.org/</a>.
    -
    -<h3>As a binary in an RPM Package</h3>
    -
    -<p>Consult the <a href="#jpackage">jpackage</a> section below.</p>
    -
    -<h3>Bundled in IDEs</h3>
    -<p>
    - All the main Java IDEs ship with Ant, products such as Eclipse, NetBeans
    - and IntelliJ IDEA. If you install Ant this way you usually get the most recent
    - release of Ant at the time the IDE was released. Some of the IDEs (Eclipse
    - and NetBeans in particular) ship with extra tasks that only work if
    - IDE-specific tools are on Ant's path. To use these on command-line versions
    - of Ant, the relevant JARs need to be added to the command-line Ant as
    - extra libraries/tasks. Note that if it is an IDE task or extension that is
    - not behaving, the Ant team is unable to field bug reports. Try the IDE mailing
    - lists first, who will cross-file bugs if appropriate.
    -</p>
    -<p>
    - IDE's can invariably be pointed at different Ant installations. This lets
    - developers upgrade to a new release of Ant, and eliminate inconsistencies
    - between command-line and IDE Ant.
    -</p>
    -
    -<h3>Bundled in Java applications</h3>
    -
    -<p>
    - Many Java applications, most particularly application servers, ship with
    - a version of Ant. These are primarily for internal use by the application,
    - using the Java APIs to delegate tasks such as JSP page compilation to the Ant
    - runtime. Such distributions are usually unsupported by everyone. Particularly
    - troublesome are those products that non only ship with their own Ant release,
    - they add their own version of ANT.BAT or ant.sh to the PATH. If Ant starts
    - behaving wierdly after installing something, try the
    - <a href="#diagnostics">diagnostics</a> advice.
    -</p>
    -
    -<h3>Source Edition</h3>
    -
    -<p>If you prefer the source edition, you can download the source for the latest
    -Ant release from
    -<a href="http://ant.apache.org/srcdownload.cgi" target="_top">http://ant.apache.org/srcdownload.cgi</a>.
    -
    -If you prefer the leading-edge code, you can access
    -the code as it is being developed via SVN. The Ant website has details on
    -<a href="http://ant.apache.org/svn.html" target="_top">accessing SVN</a>.
    -All bug fixes will go in against the HEAD of the source tree, and the first
    -response to many bugreps will be "have you tried the latest version".
    -Don't be afraid to download and build a prererelease edition, as everything
    -other than new features are usually stable.
    - </p>
    -<p>
    -
    -
    -See the section <a href="#buildingant">Building Ant</a> on how to
    -build Ant from the source code.
    -You can also access the
    -<a href="http://svn.apache.org/viewcvs.cgi/ant/" target="_top">
    -Ant SVN repository</a> on-line. </p>
    -
    <hr>
    <h2><a name="sysrequirements">System Requirements</a></h2>
    Ant has been used successfully on many platforms, including Linux,
    @@ -243,7 +295,8 @@ files there. This directory will be know
    <tr>
    <td width="5%">&nbsp;</td>
    <td><i>
    -On these systems, the script used to launch Ant will have
    +Note that current releases of Ant no longer support these systems. If you are using an older
    +version of Ant, however, the script used to launch Ant will have
    problems if ANT_HOME is a long filename (i.e. a filename which is not
    of the format known as &quot;8.3&quot;). This is due to
    limitations in the OS's handling of the <code>&quot;for&quot;</code>
    @@ -264,7 +317,7 @@ installed in a <b>short</b>, 8.3 path, s
    </tr>
    </table>

    -<h3>Setup</h3>
    +<h3><a name="setup">Setup</a></h3>
    <p>
    Before you can run Ant there is some additional set up you
    will need to do unless you are installing the <a href="#jpackage">RPM
    @@ -279,6 +332,10 @@ Windows NT/2000), but it is better to no
    (see the <a href="#advanced">Advanced</a> section below).
    This should be set to the directory where your JDK is installed.</li>
    </ul>
    +<p>Operating System-specific instructions for doing this from the command
    +line are in the <a href="#windows">Windows</a>, <a href="#bash">Linux/Unix (bash)</a>,
    +and <a href="#tcshcsh">Linux/Unix (csh)</a> sections. Note that using this method,
    +the settings will only be valid for the command line session you run them in.</p>
    <p><strong>Note:</strong> Do not install Ant's ant.jar file into the lib/ext
    directory of the JDK/JRE. Ant is an application, whilst the extension
    directory is intended for JDK extensions. In particular there are security
    @@ -294,9 +351,9 @@ restrictions on the classes which may be
    <td width="5%">&nbsp;</td>
    <td>
    The ant.bat script makes use of three environment variables -
    - ANT_HOME, CLASSPATH and JAVA_HOME. <b>Ensure</b> that ANT_HOME and JAVA_HOME variables are set,
    + ANT_HOME, CLASSPATH and JAVA_HOME. <b>Ensure</b> that ANT_HOME and JAVA_HOME variables are set,
    and that they do <b><u>not</u></b> have quotes (either
    - ' or &quot;) and they do <b><u>not</u></b> end with \ or with /. CLASSPATH should be unset or
    + ' or &quot;) and they do <b><u>not</u></b> end with \ or with /. CLASSPATH should be unset or
    empty.
    </td>
    </tr>
    @@ -309,11 +366,11 @@ should get a message like this
    Buildfile: build.xml does not exist!
    Build failed
    </pre>
    -So Ant works. This message is there because you need to write an individual buildfile for your
    +So Ant works. This message is there because you need to write an individual buildfile for your
    project. With a <tt>ant -version</tt> you should get an output like
    <pre>
    Apache Ant version 1.7.1 compiled on June 27 2008
    -</pre>
    +</pre>
    </p>
    <p>If this does not work ensure your environment variables are set right. They must resolve to:
    <ul>
    @@ -322,7 +379,7 @@ Apache Ant version 1.7.1 compiled on Jun
    <li>required: %PATH%=...<i>maybe-other-entries</i>...;%ANT_HOME%\bin;...<i>maybe-other-entries</i>...</li>
    </ul>
    <b>ANT_HOME</b> is used by the launcher script for finding the libraries.
    -<b>JAVA_HOME</b> is used by the launcher for finding the JDK/JRE to use. (JDK is recommended as some tasks
    +<b>JAVA_HOME</b> is used by the launcher for finding the JDK/JRE to use. (JDK is recommended as some tasks
    require the java tools.) If not set, the launcher tries to find one via the %PATH% environment variable.
    <b>PATH</b> is set for user convinience. With that set you can just start <i>ant</i> instead of always typing
    <i>the/complete/path/to/your/ant/installation/bin/ant</i>.
    @@ -378,6 +435,50 @@ libraries must be added to Ant's classpa
    </ul>

    <p>
    + If you are using the binary version of Ant, or if you are working from source
    + code, you can easily gather most of the dependencies and install them for use
    + with your Ant tasks. In your <code>ANT_HOME</code> directory you should see a
    + file called <code>fetch.xml</code>. This is an Ant script that you can run to
    + install almost all the dependencies the optional Ant tasks need.
    +</p>
    +
    +<p>
    + To do so, change to the <code>ANT_HOME</code> directory and execute the command:
    +</p>
    +
    +<blockquote>
    + <pre>ant -f fetch.xml -Ddest=<i>[option]</i></pre>
    +</blockquote
    +
    +<p>
    + where option is one of the following, as described above:
    + <ul>
    + <li><code>system</code> - store in Ant's lib directory <i>(Recommended)</i></li>
    + <li><code>user</code> - store in the user's home directory</li>
    + <li><code>optional</code> - store in Ant's source code lib/optional directory, used if building Ant source code</li>
    + </ul>
    +</p>
    +
    +<p>
    + You may also need to set proxy settings. See the <a href="#proxy">Proxy Settings</a> section for details.
    +</p>
    +
    +<p>
    +Note that not all dependencies are gathered using <code>fetch.xml</code>. Tasks that depend on
    +commercial software, in particular, will require you to have the commercial software installed
    +in order to be used.
    +</p>
    +
    +<p>The Apache Ant Project also provides additional tasks and types that are available as separately
    +downloaded Ant Libraries. You can see the the list of available Antlibs at
    +the <a href="http://ant.apache.org/antlibs/proper.html" target="_top">Ant Libraries</a> page.
    +</p>
    +
    +<p>You can also find tasks and types provided by third-party projects at the
    +<a href="http://ant.apache.org/external.html" target="_top">External Tools and Tasks</a> page.
    +</p>
    +
    +<p>
    IDEs have different ways of adding external JAR files and third-party tasks
    to Ant. Usually it is done by some configuration dialog. Sometimes JAR files
    added to a project are automatically added to ant's classpath.
    @@ -453,29 +554,55 @@ this. </p>

    <li><b>With Java1.5</b><br>

    +<p>
    When you run Ant on Java1.5, you could try to use the automatic proxy setup
    -mechanism with <code>-autoproxy</code>.
    +mechanism with <code>-autoproxy</code>.
    +</p>

    </li>

    <li><b>With explicit JVM properties.</b><br>
    -
    +<p>
    These are documented <a
    -href="http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html" target="_top">by Sun</a>,
    +href="http://download.oracle.com/javase/1.5.0/docs/guide/net/properties.html" target="_top">by Oracle</a>,
    and control the proxy behaviour of the entire JVM. To set them in Ant, declare
    them in the <code>ANT_OPTS</code> environment variable. This is the best option
    for a non-mobile system. For a laptop, you have to change these settings as you
    -roam.
    -
    +roam. To set ANT_OPTS:
    +</p>
    +<blockquote>
    +<p>
    + For csh/tcsh:
    +</p>
    +<pre>
    + setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
    +</pre>
    +<p>
    + For bash:
    +</p>
    +<pre>
    + export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
    +</pre>
    +<p>
    + For Windows, set the environment variable in the appropriate dialog box
    + and open a new console. or, by hand
    +</p>
    +<pre>
    + set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080
    +</pre>
    +</p>
    +</blockquote>
    </li>

    <li><b>In the build file itself</b><br>

    -If you are writing an build file that is always to be used behind the firewall,
    +<p>
    +If you are writing a build file that is always to be used behind the firewall,
    the &lt;setproxy&gt; task lets you configure the proxy (which it does by setting
    the JVM properties). If you do this, we strongly recommend using ant properties
    to define the proxy host, port, etc, so that individuals can override the
    defaults.</li>
    +</p>

    </ul>

    @@ -505,14 +632,14 @@ environment:</p>
    set JAVA_HOME=c:\jdk-1.5.0.05
    set PATH=%PATH%;%ANT_HOME%\bin</pre>

    -<h3>Linux/Unix (bash)</h3>
    +<h3><a name="bash">Linux/Unix (bash)</a></h3>
    <p>Assume Ant is installed in <code>/usr/local/ant</code>. The following sets up
    the environment:</p>
    <pre>export ANT_HOME=/usr/local/ant
    export JAVA_HOME=/usr/local/jdk-1.5.0.05
    export PATH=${PATH}:${ANT_HOME}/bin</pre>

    -<h3>Linux/Unix (csh)</h3>
    +<h3><a name="tcshcsh">Linux/Unix (csh)</a></h3>
    <pre>setenv ANT_HOME /usr/local/ant
    setenv JAVA_HOME /usr/local/jdk/jdk-1.5.0.05
    set path=( $path $ANT_HOME/bin )</pre>
    @@ -542,20 +669,20 @@ ant and the external package (e.g. <code
    However, JPackage does not package proprietary software, and since some of the
    optional packages depend on proprietary jars, they must be handled as follows.
    This may violate the spirit of JPackage, but it is necessary if you need these proprietary packages.
    -For example, suppose you want to install support for starteam, which jpackage does not
    +For example, suppose you want to install support for netrexx, which jpackage does not
    support:
    <ol>
    <li>Decide where you want to deploy the extra jars. One option is in <code>$ANT_HOME/lib</code>,
    which, for JPackage is usually <code>/usr/share/ant/lib</code>. Another, less messy option
    is to create an <code>.ant/lib</code> subdirectory of your home directory and place your
    non-jpackage ant jars there, thereby avoiding mixing jpackage
    -libraries with non-jpacakge stuff in the same folder.
    +libraries with non-jpackage stuff in the same folder.
    More information on where Ant finds its libraries is available
    <a href="http://ant.apache.org/manual/running.html#libs">here</a></li>
    <li>Download a non-jpackage binary distribution from the regular
    <a href="http://ant.apache.org/bindownload.cgi" target="_top">Apache Ant site</a></li>
    <li>Unzip or untar the distribution into a temporary directory</li>
    -<li>Copy the linking jar, in this case <code>ant-starteam.jar</code>, into the library directory you
    +<li>Copy the linking jar, in this case <code>ant-jai.jar</code>, into the library directory you
    chose in step 1 above.</li>
    <li>Copy the proprietary jar itself into the same directory.</li>
    </ol>
    @@ -572,16 +699,16 @@ least the following:</p>
    <li>The classpath for Ant must contain <code>ant.jar</code> and any jars/classes
    needed for your chosen JAXP-compliant XML parser.</li>
    <li>When you need JDK functionality
    -(such as for the <a href="CoreTasks/javac.html">javac</a> task or the
    -<a href="CoreTasks/rmic.html">rmic</a> task), then <code>tools.jar</code>
    +(such as for the <a href="Tasks/javac.html">javac</a> task or the
    +<a href="Tasks/rmic.html">rmic</a> task), then <code>tools.jar</code>
    must be added. The scripts supplied with Ant,
    in the <code>bin</code> directory, will add
    the required JDK classes automatically, if the <code>JAVA_HOME</code>
    environment variable is set.</li>

    <li>When you are executing platform-specific applications, such as the
    -<a href="CoreTasks/exec.html">exec</a> task or the
    -<a href="CoreTasks/cvs.html">cvs</a> task, the property <code>ant.home</code>
    +<a href="Tasks/exec.html">exec</a> task or the
    +<a href="Tasks/cvs.html">cvs</a> task, the property <code>ant.home</code>
    must be set to the directory containing where you installed Ant. Again
    this is set by the Ant scripts to the value of the ANT_HOME environment
    variable.</li>
    @@ -595,7 +722,7 @@ at the source for your platform's invoca
    <hr>
    <h2><a name="buildingant">Building Ant</a></h2>
    <p>To build Ant from source, you can either install the Ant source distribution
    -or checkout the ant module from SVN.</p>
    +or checkout the ant module from SVN. See <a href="#sourceEdition">Source Edition</a> for details.</p>
    <p>Once you have installed the source, change into the installation
    directory.</p>

    @@ -620,7 +747,14 @@ still need to
    make the JARs available as described under
    <a href="#installing">Installing Ant</a>.</p>

    -<p>As of version 1.7.0 Ant has a hard dependency on JUnit and you must
    +<p>You can also get most of the auxiliary jar files (ie. the jar files
    +that various optional Ant tasks depend on) by running Ant on the
    +<code>fetch.xml</code> build file. See <a href="#optionalTasks">Optional
    +Tasks</a> for instructions on how to do this.
    +</p>
    +
    +<p>As of version 1.7.0 Ant has a hard dependency on JUnit. The <code>fetch.xml</code> build
    + script will download JUnit automatically, but if you don't use this you must
    install it manually into <code>lib/optional</code> (download it from
    <a href="http://junit.org/" target="_top">JUnit.org</a>) if you are
    using a source distribution of Ant.</p>
    @@ -816,7 +950,7 @@ you need jakarta-oro 2.0.8 or later, and
    <tr>
    <td>judo.jar</td>
    <td>Judoscript with script task</td>
    - <td><a href="http://www.judoscript.com/index.html" target="_top">http://www.judoscript.com/index.html</a></td>
    + <td><a href="http://www.judoscript.org/" target="_top">http://www.judoscript.org/</a></td>
    </tr>
    <tr>
    <td>commons-logging.jar</td>
    @@ -852,23 +986,14 @@ you need jakarta-oro 2.0.8 or later, and
    <tr>
    <td>mail.jar</td>
    <td>Mail task with Mime encoding, and the MimeMail task</td>
    - <td><a href="http://java.sun.com/products/javamail/"
    - target="_top">http://java.sun.com/products/javamail/</a></td>
    - </tr>
    - <tr>
    - <td>jsse.jar</td>
    - <td>
    -Support for SMTP over TLS/SSL <br>
    -in the Mail task<br>
    -Already included Java 1.4+</td>
    - <td><a href="http://java.sun.com/products/jsse/"
    - target="_top">http://java.sun.com/products/jsse/</a></td>
    + <td><a href="http://www.oracle.com/technetwork/java/index-jsp-139225.html"
    + target="_top">http://www.oracle.com/technetwork/java/index-jsp-139225.html</a></td>
    </tr>
    <tr>
    <td>activation.jar</td>
    <td>Mail task with Mime encoding, and the MimeMail task</td>
    - <td><a href="http://java.sun.com/products/javabeans/glasgow/jaf.html"
    - target="_top">http://java.sun.com/products/javabeans/glasgow/jaf.html</a></td>
    + <td><a href="http://www.oracle.com/technetwork/java/javase/jaf-135115.html"
    + target="_top">http://www.oracle.com/technetwork/java/javase/jaf-135115.html</a></td>
    </tr>
    <tr>
    <td>jdepend.jar</td>
    @@ -894,12 +1019,6 @@ Already included Java 1.4+</td>
    <td><a href="https://jai.dev.java.net/"
    target="_top">https://jai.dev.java.net/</a></td>
    </tr>
    - <tr>
    - <td>Starteam SDK</td>
    - <td>Starteam version management tasks</td>
    - <td><a href="http://www.borland.com/downloads/download_starteam.html"
    - target="_top">http://www.borland.com/downloads/download_starteam.html</a></td>
    - </tr>
    </table>
    <br>
    <h2><a name="Troubleshooting">Troubleshooting</a></h2>

    Modified: ant/core/branches/ANT_SITE/docs/manual/installlist.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/installlist.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/installlist.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/installlist.html Mon Dec 13 18:34:00 2010
    @@ -27,12 +27,13 @@

    <h2><a href="toc.html" target="navFrame">Table of Contents</a></h2>

    -<h3>Installing Ant</h3>
    +<h3>Installing Apache Ant</h3>
    <ul class="inlinelist">
    <li><a href="install.html#getting">Getting Ant</a></li>
    <li><a href="install.html#sysrequirements">System Requirements</a></li>
    <li><a href="install.html#installing">Installing Ant</a></li>
    <li><a href="install.html#checkInstallation">Check Installation</a></li>
    +<li><a href="install.html#optionalTasks">Optional Tasks</a></li>
    <li><a href="install.html#buildingant">Building Ant</a></li>
    <li><a href="install.html#librarydependencies">Library Dependencies</a></li>
    <li><a href="platform.html">Platform Specific Issues</a></li>

    Modified: ant/core/branches/ANT_SITE/docs/manual/javacprops.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/javacprops.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/javacprops.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/javacprops.html Mon Dec 13 18:34:00 2010
    @@ -29,7 +29,7 @@ don't have any default values for histor
    underlying javac compiler's default depends on the JDK you use, you
    may encounter build files that don't explicitly set those attributes
    and that will no longer compile using a newer JDK. If you cannot
    -change the build file, Ant provides two properties that help you
    +change the build file, Apache Ant provides two properties that help you
    setting default values for these attributes. If the attributes have
    been set explicitly, the properties listed here will be ignored.</p>


    Modified: ant/core/branches/ANT_SITE/docs/manual/listeners.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/listeners.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/listeners.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/listeners.html Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,7 @@

    <h2><a name="Overview">Overview</a></h2>

    -<p>Ant has two related features to allow the build process to be monitored:
    +<p>Apache Ant has two related features to allow the build process to be monitored:
    listeners and loggers.</p>

    <h3><a name="Listeners">Listeners</a></h3>

    Modified: ant/core/branches/ANT_SITE/docs/manual/platform.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/platform.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/platform.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/platform.html Mon Dec 13 18:34:00 2010
    @@ -31,31 +31,6 @@ You may need a bigger stack than default
    XSLT engine. We recommend you use Apache Xalan; indeed, some tasks (JUnit report in XML,
    for example) may not work against the shipping XSL engine.

    -<h3>Java 1.2</h3>
    -
    -
    -You may sometimes see messages like
    -<pre>
    -A nonfatal internal JIT (3.10.107(x)) error 'chgTarg: Conditional' has
    -occurred in :
    - 'org/apache/tools/ant/Project.addReference
    -(Ljava/lang/String;Ljava/lang/Object;)V': Interpreting method.
    - Please report this error in detail to
    - http://java.sun.com/cgi-bin/bugreport.cgi
    -</pre>
    -These are caused by subtle incompatibilities between the Java1.4+ compiled
    -release; bugs in the Java runtime that Sun won't fix. Possible solutions:-
    -<ol>
    -<li>Upgrade your JVM.
    -<li>Recompile Ant on a Java1.2 machine
    -<li>Add <tt>-Djava.compiler=NONE</tt> to
    -the value of your ANT_OPTS environment variable. This turns the JIT off.
    -<li>Ignore the messages.
    -</ol>
    -
    -
    -
    -
    <h2>Unix and Linux</h2>

    <ul>

    Modified: ant/core/branches/ANT_SITE/docs/manual/projecthelper.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/projecthelper.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/projecthelper.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/projecthelper.html Mon Dec 13 18:34:00 2010
    @@ -19,16 +19,16 @@
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    -<title>The Ant frontend: ProjectHelper</title>
    +<title>The Apache Ant frontend: ProjectHelper</title>
    </head>

    <body>
    -<h1>The Ant frontend: ProjectHelper</h1>
    +<h1>The Apache Ant frontend: ProjectHelper</h1>

    <h2><a name="definition">What is a ProjectHelper?</a></h2>

    <p>
    -The <code>ProjectHelper</code> in Ant is responsible for parsing the build file
    +The <code>ProjectHelper</code> in Apache Ant is responsible for parsing the build file
    and creating java instances representing the build workflow. It also signals which
    kind of file it can parse, and which file name it expects as default input file.
    </p>
    @@ -47,6 +47,12 @@ been done around a pure java frontend, a
    list for further info about these).
    </p>

    +<p>Since Ant 1.8.2, the <a href="Tasks/import.html">import</a> task will also
    +try to use the proper helper to parse the imported file. So it is possible to
    +write different build files in different languages and have them import each
    +other.
    +</p>
    +
    <h2><a name="repository">How is Ant is selecting the proper ProjectHelper</a></h2>

    <p>
    @@ -122,7 +128,7 @@ capable of and what is is expecting:
    </p>

    <p>
    -Now that you have your implementation ready, you have to declare it to Ant. Two
    +Now that you have your implementation ready, you have to declare it to Ant. Three
    solutions here:
    <ul>
    <li>use the system property <code>org.apache.tools.ant.ProjectHelper</code>
    @@ -132,6 +138,10 @@ solutions here:
    <code>META-INF/services/org.apache.tools.ant.ProjectHelper</code>.
    And then in this file just put the fully qualified name of your
    implementation</li>
    + <li>use the <a href="Tasks/projecthelper.html">projecthelper</a> task (since
    + Ant 1.8.2) which will install dynamically an helper in the internal helper
    + 'repository'. Then your helper can be used on the next call to the
    + <a href="Tasks/import.html">import</a> task.</li>
    </ul>
    </p>


    Modified: ant/core/branches/ANT_SITE/docs/manual/properties.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/properties.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/properties.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/properties.html Mon Dec 13 18:34:00 2010
    @@ -25,11 +25,11 @@
    <body>
    <h1>Properties</h1>

    - <p>Properties are key-value-pairs where Ant tries to
    + <p>Properties are key-value-pairs where Apache Ant tries to
    expand <code>${key}</code> to <code>value</code> at runtime.</p>

    <p>There are many tasks that can set properties, the most common one
    - is the <a href="CoreTasks/property.html">property</a> task. In
    + is the <a href="Tasks/property.html">property</a> task. In
    addition properties can be defined
    via <a href="running.html">command line arguments</a> or similar
    mechanisms from outside of Ant.</p>
    @@ -40,14 +40,14 @@
    defined they are available for any task or target invoked
    subsequently - it is not possible to set a property in a child
    build process created via
    - the <a href="CoreTasks/ant.html">ant</a>, antcall or subant tasks
    + the <a href="Tasks/ant.html">ant</a>, antcall or subant tasks
    and make it available to the calling build process, though.</p>

    <p>Starting with Ant 1.8.0
    - the <a href="CoreTasks/local.html">local</a> task can be used to
    + the <a href="Tasks/local.html">local</a> task can be used to
    create properties that are locally scoped to a target or
    - a <a href="CoreTasks/sequential.html">sequential</a> element like
    - the one of the <a href="CoreTasks/macrodef.html">macrodef</a>
    + a <a href="Tasks/sequential.html">sequential</a> element like
    + the one of the <a href="Tasks/macrodef.html">macrodef</a>
    task.</p>

    <h2><a name="built-in-props">Built-in Properties</a></h2>
    @@ -57,7 +57,7 @@
    example, <code>${os.name}</code> expands to the name of the
    operating system.</p>
    <p>For a list of system properties see
    - <a href="http://java.sun.com/j2se/1.3/docs/api/java/lang/System.html#getProperties()">the Javadoc of System.getProperties</a>.
    + <a href="http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties%28%29">the Javadoc of System.getProperties</a>.
    </p>

    <p>In addition, Ant has some built-in properties:</p>
    @@ -109,7 +109,7 @@ ant.library.dir the directory that h
    marker interface) to take care of discrete tasks such as property
    setting, retrieval, parsing, etc. This makes Ant's property
    handling highly extensible; also of interest is the
    - new <a href="CoreTasks/propertyhelper.html">propertyhelper</a>
    + new <a href="Tasks/propertyhelper.html">propertyhelper</a>
    task used to manipulate the PropertyHelper and its delegates from
    the context of the Ant buildfile.

    @@ -139,7 +139,7 @@ ant.library.dir the directory that h
    would
    be <code>org.apache.tools.ant.property.LocalProperties</code>
    which implements storage
    - for <a href="CoreTasks/local.html">local properties</a>.</p>
    + for <a href="Tasks/local.html">local properties</a>.</p>

    <p>Another reason to implement this interface is if you wanted
    to provide your own "property protocol" like
    @@ -157,7 +157,7 @@ ant.library.dir the directory that h
    would
    be <code>org.apache.tools.ant.property.LocalProperties</code>
    which implements storage
    - for <a href="CoreTasks/local.html">local properties</a>.</p>
    + for <a href="Tasks/local.html">local properties</a>.</p>
    </li>

    </ul>

    Modified: ant/core/branches/ANT_SITE/docs/manual/proxy.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/proxy.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/proxy.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/proxy.html Mon Dec 13 18:34:00 2010
    @@ -26,7 +26,7 @@
    <h2>Proxy Configuration</h2>

    <p>
    -This page discussing proxy issues on command-line ant.
    +This page discussing proxy issues on command-line Apache Ant.
    Consult your IDE documentation for IDE-specific information upon proxy setup.
    </p>

    @@ -174,7 +174,7 @@ command line.

    <h3>SetProxy Task</h3>
    <p>
    - The <a href="OptionalTasks/setproxy.html">setproxy task</a> can be used to
    + The <a href="Tasks/setproxy.html">setproxy task</a> can be used to
    explicitly set a proxy in a build file. This manipulates the many proxy
    configuration properties of a JVM, and controls the proxy settings for all
    network operations in the same JVM from that moment.
    @@ -243,7 +243,7 @@ command line.
    </p>
    If you wish to have
    a forked process pick up the Ant's settings, use the
    - <a href="CoreTypes/propertyset.html"><code>&lt;syspropertyset&gt;</code></a>
    + <a href="Types/propertyset.html"><code>&lt;syspropertyset&gt;</code></a>
    element to propagate the normal proxy settings. The following propertyset
    is a datatype which can be referenced in a <code>&lt;java&gt;</code> task to
    pass down the current values.
    @@ -284,7 +284,7 @@ use one of the alternate mechanisms to c
    <h4>Further reading</h4>

    <ul>
    -<li><a href="http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html">
    +<li><a href="http://download.oracle.com/javase/1.5.0/docs/guide/net/properties.html">
    Java Networking Properties</a>. Notice how not all proxy settings are documented
    there.
    <li><a href="http://blogs.sun.com/roller/resources/jcc/Proxies.pdf">Proxies</a>

    Modified: ant/core/branches/ANT_SITE/docs/manual/running.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/running.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/running.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/running.html Mon Dec 13 18:34:00 2010
    @@ -24,9 +24,9 @@

    <body>

    -<h1>Running Ant</h1>
    +<h1>Running Apache Ant</h1>
    <h2><a name="commandline">Command Line</a></h2>
    -<p> If you've installed Ant as described in the
    +<p> If you've installed Apache Ant as described in the
    <a href="install.html"> Installing Ant</a> section,
    running Ant from the command-line is simple: just type
    <code>ant</code>.</p>
    @@ -56,7 +56,7 @@ the <nobr><code>-D<i>property</i>=<i>val
    where <i>property</i> is the name of the property,
    and <i>value</i> is the value for that property. If you specify a
    property that is also set in the build file
    -(see the <a href="CoreTasks/property.html">property</a> task),
    +(see the <a href="Tasks/property.html">property</a> task),
    the value specified on the
    command line will override the value specified in the
    build file.
    @@ -67,7 +67,7 @@ the value of environment variables; just
    to Ant. You can then access
    these variables inside your build file as <code>${MYVAR}</code>.
    You can also access environment variables using the
    -<a href="CoreTasks/property.html"> property</a> task's
    +<a href="Tasks/property.html"> property</a> task's
    <code>environment</code> attribute.
    </p>

    @@ -296,7 +296,7 @@ org.apache.tools.ant.Executor implementa
    <td><code>ant.file</code></td>
    <td>read only: full filename of the build file</td>
    <td>This is set to the name of the build file. In
    - <a href="CoreTasks/import.html">
    + <a href="Tasks/import.html">
    &lt;import&gt;-ed</a> files, this is set to the containing build file.
    </td>
    </tr>
    @@ -306,7 +306,7 @@ org.apache.tools.ant.Executor implementa
    <td>read only: full filename of the build file of Ant projects
    </td>
    <td>This is set to the name of a file by project;
    - this lets you determine the location of <a href="CoreTasks/import.html">
    + this lets you determine the location of <a href="Tasks/import.html">
    &lt;import&gt;-ed</a> files,
    </td>
    </tr>
    @@ -329,7 +329,7 @@ org.apache.tools.ant.Executor implementa
    <tr>
    <td><code>ant.netrexxc.*</code></td>
    <td>several formats</td>
    - <td>Use specified values as defaults for <a href="OptionalTasks/netrexxc.html">netrexxc</a>.
    + <td>Use specified values as defaults for <a href="Tasks/netrexxc.html">netrexxc</a>.
    </td>
    </tr>
    <tr>
    @@ -344,7 +344,7 @@ org.apache.tools.ant.Executor implementa
    <td><code>ant.regexp.regexpimpl</code></td>
    <td>classname</td>
    <td>classname for a RegExp implementation; if not set Ant uses JDK 1.4's implementation;
    - <a href="CoreTypes/mapper.html#regexp-mapper">RegExp-Mapper</a>
    + <a href="Types/mapper.html#regexp-mapper">RegExp-Mapper</a>
    "Choice of regular expression implementation"
    </td>
    </tr>
    @@ -366,49 +366,49 @@ org.apache.tools.ant.Executor implementa
    <td><code>build.compiler</code></td>
    <td>name</td>
    <td>Specify the default compiler to use.
    - see <a href="CoreTasks/javac.html">javac</a>,
    - <a href="OptionalTasks/ejb.html#ejbjar_weblogic">EJB Tasks</a>
    + see <a href="Tasks/javac.html">javac</a>,
    + <a href="Tasks/ejb.html#ejbjar_weblogic">EJB Tasks</a>
    (compiler attribute),
    - <a href="OptionalTasks/javah.html">javah</a>
    + <a href="Tasks/javah.html">javah</a>
    </td>
    </tr>
    <tr>
    <td><code>build.compiler.emacs</code></td>
    <td>boolean (default false)</td>
    <td>Enable emacs-compatible error messages.
    - see <a href="CoreTasks/javac.html">javac</a> "Jikes Notes"
    + see <a href="Tasks/javac.html">javac</a> "Jikes Notes"
    </td>
    </tr>
    <tr>
    <td><code>build.compiler.fulldepend</code></td>
    <td>boolean (default false)</td>
    <td>Enable full dependency checking
    - see <a href="CoreTasks/javac.html">javac</a> "Jikes Notes"
    + see <a href="Tasks/javac.html">javac</a> "Jikes Notes"
    </td>
    </tr>
    <tr>
    <td><code>build.compiler.jvc.extensions</code></td>
    <td>boolean (default true)</td>
    <td>enable Microsoft extensions of their java compiler
    - see <a href="CoreTasks/javac.html">javac</a> "Jvc Notes"
    + see <a href="Tasks/javac.html">javac</a> "Jvc Notes"
    </td>
    </tr>
    <tr>
    <td><code>build.compiler.pedantic</code></td>
    <td>boolean (default false)</td>
    <td>Enable pedantic warnings.
    - see <a href="CoreTasks/javac.html">javac</a> "Jikes Notes"
    + see <a href="Tasks/javac.html">javac</a> "Jikes Notes"
    </td>
    </tr>
    <tr>
    <td><code>build.compiler.warnings</code></td>
    <td>Deprecated flag</td>
    - <td> see <a href="CoreTasks/javac.html">javac</a> "Jikes Notes" </td>
    + <td> see <a href="Tasks/javac.html">javac</a> "Jikes Notes" </td>
    </tr>
    <tr>
    <td><code>build.rmic</code></td>
    <td>name</td>
    - <td>control the <a href="CoreTasks/rmic.html">rmic</a> compiler </td>
    + <td>control the <a href="Tasks/rmic.html">rmic</a> compiler </td>
    </tr>
    <tr>
    <td><code>build.sysclasspath</code></td>
    @@ -420,8 +420,8 @@ org.apache.tools.ant.Executor implementa
    <td><code>file.encoding</code></td>
    <td>name of a supported character set (e.g. UTF-8, ISO-8859-1, US-ASCII)</td>
    <td>use as default character set of email messages; use as default for source-, dest- and bundleencoding
    - in <a href="OptionalTasks/translate.html">translate</a> <br>
    - see JavaDoc of <a target="_blank" href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html">java.nio.charset.Charset</a>
    + in <a href="Tasks/translate.html">translate</a> <br>
    + see JavaDoc of <a target="_blank" href="http://download.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html">java.nio.charset.Charset</a>
    for more information about character sets (not used in Ant, but has nice docs).
    </td>
    </tr>
    @@ -450,14 +450,14 @@ org.apache.tools.ant.Executor implementa
    <td><code>p4.port, p4.client, p4.user</code></td>
    <td>several formats</td>
    <td>Specify defaults for port-, client- and user-setting of the
    - <a href="OptionalTasks/perforce.html">perforce</a> tasks.
    + <a href="Tasks/perforce.html">perforce</a> tasks.
    </td>
    </tr>
    <tr>
    <td><code>websphere.home</code></td>
    <td>path</td>
    <td>Points to home directory of websphere.
    - see <a href="OptionalTasks/ejb.html#ejbjar_websphere">EJB Tasks</a>
    + see <a href="Tasks/ejb.html#ejbjar_websphere">EJB Tasks</a>
    </td>
    </tr>
    <tr>

    Modified: ant/core/branches/ANT_SITE/docs/manual/runninglist.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/runninglist.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/runninglist.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/runninglist.html Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,7 @@

    <h2><a href="toc.html" target="navFrame">Table of Contents</a></h2>

    -<h3>Running Ant</h3>
    +<h3>Running Apache Ant</h3>
    <ul class="inlinelist">
    <li><a href="running.html#commandline">Command Line</a></li>
    <div style="padding-left:1em">

    Modified: ant/core/branches/ANT_SITE/docs/manual/sysclasspath.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/sysclasspath.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/sysclasspath.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/sysclasspath.html Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,7 @@
    <h2><a name="sysclasspath">build.sysclasspath</a></h2>
    <p>The value of the build.sysclasspath property
    controls how the system classpath, i.e. the classpath in effect when
    -Ant is run, affects the behavior of classpaths in Ant.
    +Apache Ant is run, affects the behavior of classpaths in Ant.
    The default behavior varies from task to task.</p>

    The values and their meanings are:

    Modified: ant/core/branches/ANT_SITE/docs/manual/targets.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/targets.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/targets.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/targets.html Mon Dec 13 18:34:00 2010
    @@ -28,7 +28,7 @@
    <p>A target is a container of tasks that cooperate to reach a
    desired state during the build process.</p>

    - <p>Targets can depend on other targets and Ant ensures that these
    + <p>Targets can depend on other targets and Apache Ant ensures that these
    other targets have been executed before the current target. For
    example you might have a target for compiling and a
    target for creating a distributable. You can only build a
    @@ -131,7 +131,7 @@
    option is used.</p>

    <p>It is a good practice to place
    - your <a href="CoreTasks/tstamp.html">tstamp</a> tasks in a
    + your <a href="Tasks/tstamp.html">tstamp</a> tasks in a
    so-called <i>initialization</i> target, on which all other targets
    depend. Make sure that target is always the first one in the
    depends list of the other targets. In this manual, most
    @@ -205,6 +205,17 @@
    <em>since Ant 1.8.0.</em></td>
    <td align="center" valign="top">No</td>
    </tr>
    + <tr>
    + <td valign="top">onMissingExtensionPoint</td>
    + <td valign="top">What to do if this target tries to extend a
    + missing
    + <a href="#extension-points">extension-point</a>. ("fail",
    + "warn", "ignore").
    + <em>since Ant 1.8.2.</em></td>
    + <td align="center" valign="top">No. Not allowed unless
    + <code>extensionOf</code> is present. Defaults to <code>fail</code>.
    + </td>
    + </tr>
    </table>

    <p>A target name can be any alphanumeric string valid in the
    @@ -245,7 +256,7 @@

    <p>The main purpose of an extension-point is to act as an extension
    point for build files designed to
    - be <a href="CoreTasks/import.html">imported</a>. In the imported
    + be <a href="Tasks/import.html">imported</a>. In the imported
    file an extension-point defines a state that must be reached and
    targets from other build files can join the depends list of said
    extension-point in order to contribute to that state.</p>
  • Antoine at Dec 13, 2010 at 6:34 pm
    Modified: ant/core/branches/ANT_SITE/doap_Ant.rdf
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/doap_Ant.rdf?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/doap_Ant.rdf (original)
    +++ ant/core/branches/ANT_SITE/doap_Ant.rdf Mon Dec 13 18:34:00 2010
    @@ -35,6 +35,13 @@
    <category rdf:resource="http://projects.apache.org/category/build-management" />
    <release>
    <Version>
    + <name>Apache Ant 1.8.1</name>
    + <created>2010-05-07</created>
    + <revision>1.8.1</revision>
    + </Version>
    + </release>
    + <release>
    + <Version>
    <name>Apache Ant 1.8.0</name>
    <created>2010-02-08</created>
    <revision>1.8.0</revision>

    Modified: ant/core/branches/ANT_SITE/docs/ant_in_anger.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/ant_in_anger.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/ant_in_anger.html (original)
    +++ ant/core/branches/ANT_SITE/docs/ant_in_anger.html Mon Dec 13 18:34:00 2010
    @@ -16,12 +16,12 @@
    -->
    <head>
    <title>
    - Ant in Anger
    + Apache Ant in Anger
    </title>
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    -<h1 align="center">Ant in Anger:
    +<h1 align="center">Apache Ant&trade; in Anger:
    </h1>
    <h2 align="center">
    Using Apache Ant in a Production Development System
    @@ -122,7 +122,7 @@ And of course, the ubiquitous <b>clean</

    With standard target names, it is easy to build encompassing Ant build
    files which just hand off the work to the classes below using the
    -<a href="manual/CoreTasks/ant.html">ant</a>
    +<a href="manual/Tasks/ant.html">ant</a>
    task. For example. the clean target could be handed down to the <tt>intf</tt> and
    <tt>impl</tt> subdirectories from a parent directory

    @@ -147,9 +147,9 @@ entry points is therefore very useful, e
    </h3>

    If Ant does not do what you want, you can use the
    -<a href="manual/CoreTasks/exec.html">exec</a> and
    -<a href="manual/CoreTasks/java.html">java</a> tasks or
    -<a href="manual/OptionalTasks/script.html">inline scripting</a> to extend it. In a
    +<a href="manual/Tasks/exec.html">exec</a> and
    +<a href="manual/Tasks/java.html">java</a> tasks or
    +<a href="manual/Tasks/script.html">inline scripting</a> to extend it. In a
    project with many <tt>build.xml</tt> files, you soon find that having a single
    central place for implementing the functionality keeps maintenance
    overhead down. Implementing task extensions through Java code seems
    @@ -180,7 +180,7 @@ Embrace Automated Testing

    <b>(alternatively "recriminate early, recriminate often")</b>
    <p>
    -Ant lets you call <a href="manual/OptionalTasks/junit.html">JUnit</a>
    +Ant lets you call <a href="manual/Tasks/junit.html">JUnit</a>
    tasks, which unit test the code your team has written. Automated testing
    may seem like extra work at first, but JUnit makes writing unit tests so
    easy that you have almost no reason not to. Invest the time in learning
    @@ -203,7 +203,7 @@ given the choice.
    <p>
    System tests are harder to automate than unit tests, but if you can
    write java code to stress large portions of the system - even if the code
    -can not run as JUnit tasks - then the <a href= "manual/CoreTasks/java.html">java</a>
    +can not run as JUnit tasks - then the <a href= "manual/Tasks/java.html">java</a>
    task can be used to invoke them. It is best to specify that you want a
    new JVM for these tests, so that a significant crash does not break the
    full build. The Junit extensions such as
    @@ -263,8 +263,8 @@ The common barriers to cross-platform An
    tools (exec tasks) which are not portable, path issues, and hard coding
    in the location of things.

    -<h3>Command Line apps: <a href="manual/CoreTasks/exec.html">Exec</a> /
    - <a href= "manual/CoreTasks/apply.html">Apply</a></h3>
    +<h3>Command Line apps: <a href="manual/Tasks/exec.html">Exec</a> /
    + <a href= "manual/Tasks/apply.html">Apply</a></h3>

    The trouble with external invocation is that not all functions are found
    cross platform, and those that are often have different names - DOS
    @@ -307,7 +307,7 @@ attributes), or by including a fileset o
    definition.
    <p>
    There is also the <a
    -href="manual/CoreTasks/pathconvert.html">PathConvert</a> task which
    +href="manual/Tasks/pathconvert.html">PathConvert</a> task which
    can put a fully resolved path into a property. Why do that? Because then
    you can use that path in other ways - such as pass it as a parameter to
    some application you are calling, or use the replace task to patch it
    @@ -326,14 +326,14 @@ find any <tt>.java</tt> files. The Java
    not have a class 'ExampleThree' implemented in "examplethree.java".

    <p>
    -Some tasks only work on one platform - <a href= "manual/CoreTasks/chmod.html">
    +Some tasks only work on one platform - <a href= "manual/Tasks/chmod.html">
    Chmod</a> being a classic example. These tasks usually result in just a
    warning message on an unsupported platform - the rest of the target's
    tasks will still be called. Other tasks degrade their functionality on
    platforms or Java versions. In particular, any task which adjusts the
    timestamp of files can not do so properly on Java 1.1. Tasks which can
    -do that - <a href="manual/CoreTasks/get.html">Get</a>, <a
    -href="manual/CoreTasks/touch.html">Touch</a> and <A href="manual/CoreTasks/unzip.html">
    +do that - <a href="manual/Tasks/get.html">Get</a>, <a
    +href="manual/Tasks/touch.html">Touch</a> and <A href="manual/Tasks/unzip.html">
    Unjar/Unwar/Unzip</a> for example, degrade their functionality on
    Java1.1, usually resorting to the current timestamp instead.

    @@ -348,7 +348,7 @@ on Windows, OS/2 and Unix and hence call
    perl code can be left to resolve its own platform issues. Don't forget to
    set the line endings of the file to the appropriate platform when you
    redistribute Perl code; <a
    -href="manual/CoreTasks/fixcrlf.html">fixCRLF</a>
    +href="manual/Tasks/fixcrlf.html">fixCRLF</a>
    can do that for you.

    <a name="team">
    @@ -381,36 +381,36 @@ processes for deploying Java to remote s
    evolved in Ant. That is because we all have to do it these days, so
    many people have put in the effort to make the tasks easier.
    <p>
    -Ant can <a href="manual/CoreTasks/jar.html">Jar</a>, <a href=
    -"manual/CoreTasks/tar.html">Tar</a> or <a
    -href="manual/CoreTasks/zip.html">Zip</a> files for deployment, while the
    -<a href="manual/CoreTasks/war.html">War</a> task extends the jar task
    +Ant can <a href="manual/Tasks/jar.html">Jar</a>, <a href=
    +"manual/Tasks/tar.html">Tar</a> or <a
    +href="manual/Tasks/zip.html">Zip</a> files for deployment, while the
    +<a href="manual/Tasks/war.html">War</a> task extends the jar task
    for better servlet deployment.
    -<a href ="manual/OptionalTasks/jlink.html">Jlink</a> is a
    +<a href ="manual/Tasks/jlink.html">Jlink</a> is a
    jar generation file which lets you merge multiple sub jars. This is
    ideal for a build process in which separate jars are generated by sub
    projects, yet the final output is a merged jar. <a href=
    -"manual/OptionalTasks/cab.html">Cab</a> can be used on Win32 boxes to
    +"manual/Tasks/cab.html">Cab</a> can be used on Win32 boxes to
    build a cab file which is useful if you still have to target IE deployment.

    <p>
    The <a href="index.html#ftp">ftp</a> task lets you move stuff up to a
    server. Beware of putting the ftp password in the build file - a property
    file with tight access control is slightly better. The <a href=
    -"manual/CoreTasks/fixcrlf.html">FixCRLF</a> task is often a useful interim step if
    +"manual/Tasks/fixcrlf.html">FixCRLF</a> task is often a useful interim step if
    you need to to adjust the line endings of files. A
    WebDav task has long been discussed, which would provide a more secure
    upload to web servers, but it is still in the todo list. Rumour has it
    that there is such a task in the jakarta-slide libraries. With MacOS X,
    Linux and Windows XP all supporting WebDAV file systems, you may even be able
    -to use <a href="manual/CoreTasks/copy.html">copy</a> to deploy
    +to use <a href="manual/Tasks/copy.html">copy</a> to deploy
    though a firewall.

    <p>
    -EJB deployment is aided by the <a href="manual/OptionalTasks/ejb.html">ejb</a> tasks,
    +EJB deployment is aided by the <a href="manual/Tasks/ejb.html">ejb</a> tasks,
    while the
    <a
    -href="manual/OptionalTasks/serverdeploy.html">serverdeploy</a>
    +href="manual/Tasks/serverdeploy.html">serverdeploy</a>
    suite can deploy to multiple servers. The popularity of Ant has
    encouraged vendors to produce their own deployment tasks which they
    redistribute with their servers. For example, the Tomcat4.1 installation
    @@ -418,9 +418,9 @@ includes tasks to deploy, undeploy and r

    <p>
    Finally, there are of course the fallbacks of just copying files to a
    -destination using <a href="manual/CoreTasks/copy.html">Copy</a> and <a href="index.html#copydir">Copydir</a> , or just sending them to a person or
    -process using <a href="manual/CoreTasks/mail.html">Mail</a> or the attachment
    -aware <a href= "manual/OptionalTasks/mimemail.html">MimeMail</a>.
    +destination using <a href="manual/Tasks/copy.html">Copy</a> and <a href="index.html#copydir">Copydir</a> , or just sending them to a person or
    +process using <a href="manual/Tasks/mail.html">Mail</a> or the attachment
    +aware <a href= "manual/Tasks/mimemail.html">MimeMail</a>.
    In one project our team even used Ant to build CD images through a build followed
    by a long set of Copy tasks, which worked surprisingly well, certainly
    easier than when we mailed them to the free email service on
    @@ -673,7 +673,7 @@ Tips and Tricks</h2>
    get
    </b><dd>

    -The <a href="manual/CoreTasks/get.html">get</a> task can fetch any URL, so be used
    +The <a href="manual/Tasks/get.html">get</a> task can fetch any URL, so be used
    to trigger remote server side code during the build process, from remote
    server restarts to sending SMS/pager messages to the developer
    cellphones.
    @@ -683,7 +683,7 @@ i18n
    </b><dd>

    Internationalisation is always trouble. Ant helps here with the <a href=
    -"manual/OptionalTasks/native2ascii.html">native2ascii</a> task which can escape out all non
    +"manual/Tasks/native2ascii.html">native2ascii</a> task which can escape out all non
    ascii characters into unicode. You can use this to write java files
    which include strings (and indeed comments) in your own non-ASCII
    language and then use native2ascii to convert to ascii prior to feeding
    @@ -758,7 +758,7 @@ XML entity expansion is handled during t
    <p>
    The <tt>&lt;import&gt;</tt> task does powerful things, such as let you override targets,
    and use ant properties to name the location of the file to import. Consult the
    -<a href="manual/CoreTasks/import.html">documentation</a> for the specifics of
    +<a href="manual/Tasks/import.html">documentation</a> for the specifics of
    these features.

    <p>
    @@ -791,7 +791,7 @@ Implement complex Ant builds through XSL
    </b><dd>

    XSLT can be used to dynamically generate build.xml files from a source
    -xml file, with the <a href="manual/CoreTasks/style.html">xslt</a> task controlling
    +xml file, with the <a href="manual/Tasks/style.html">xslt</a> task controlling
    the transform. This is the current recommended strategy for creating
    complex build files dynamically. However, its use is still apparently
    quite rare - which means you will be on the bleeding edge of technology.

    Modified: ant/core/branches/ANT_SITE/docs/ant_task_guidelines.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/ant_task_guidelines.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/ant_task_guidelines.html (original)
    +++ ant/core/branches/ANT_SITE/docs/ant_task_guidelines.html Mon Dec 13 18:34:00 2010
    @@ -20,9 +20,9 @@ Apache Ant Task Design Guidelines
    </title>
    </head><body>

    -<h1>Apache Ant Task Design Guidelines</h1>
    +<h1>Apache Ant&trade; Task Design Guidelines</h1>

    -This document covers how to write Ant tasks to a standard required to be
    +This document covers how to write Apache Ant tasks to a standard required to be
    incorporated into the Ant distribution. You may find it useful when
    writing tasks for personal use as the issues it addresses are still
    there in such a case.
    @@ -496,8 +496,7 @@ subject.
    <li>Patch files generated using svn diff -u
    <li>patch files include a patch to defaults.properties to register the
    tasks
    -<li>patch files include a patch to coretasklist.html or
    -optionaltasklist.html to link to the new task page
    +<li>patch files include a patch to tasklist.html to link to the new task page
    <li>Message to dev contains [SUBMIT] and task name in subject
    <li>Message body contains a rationale for the task
    <li>Message attachments contain the required files -source, documentation,

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/antunit/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/antunit/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/antunit/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/antunit/index.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - AntUnit</title>
    + <title>Apache Ant - Apache AntUnit</title>
    <link type="text/css" href="../../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../../projects/ivyde.html">Introduction</a>
    @@ -163,10 +163,16 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">AntUnit</h1>
    + <h1 class="title">Apache AntUnit</h1>
    <h3 class="section">
    - <a name="AntUnit 1.1"></a>
    - AntUnit 1.1
    + <a name="Apache AntUnit&amp;#x2122;"></a>
    + Apache AntUnit&#x2122;
    + </h3>
    + <p>Apache AntUnit is an Antlib that provides a test framework
    + for Apache Ant tasks and types.</p>
    + <h3 class="section">
    + <a name="Apache AntUnit 1.1"></a>
    + Apache AntUnit 1.1
    </h3>
    <h3>September 26, 2008 - Apache AntUnit 1.1 Released</h3>
    <p>Apache AntUnit 1.1 is now available for download as <a href="http://ant.apache.org/antlibs/bindownload.cgi">binary</a>
    @@ -194,11 +200,11 @@
    <a name="Idea"></a>
    Idea
    </h3>
    - <p>Initially all tests for Ant tasks were written as individual
    + <p>Initially all tests for Apache Ant tasks were written as individual
    <a href="http://www.junit.org/">JUnit</a> test cases. Pretty
    soon it was clear that most tests needed to perform common tasks
    like reading a build file, initializing a project instance with
    - it and executing a target. At this point <a href="http://svn.apache.org/viewcvs.cgi/ant/core/trunk/src/testcases/org/apache/tools/ant/BuildFileTest.java">BuildFileTest</a>
    + it and executing a target. At this point <a href="http://svn.apache.org/viewvc/ant/core/trunk/src/testcases/org/apache/tools/ant/BuildFileTest.java">BuildFileTest</a>
    was invented, a base class for almost all task test cases.</p>
    <p>BuildFileTest works fine and in fact has been picked up by <a href="http://ant-contrib.sf.net/">the Ant-Contrib Project</a>
    and others as well.</p>
    @@ -380,6 +386,7 @@ Total time: 1 second
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/bindownload.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/bindownload.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/bindownload.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/bindownload.html Mon Dec 13 18:34:00 2010
    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -165,10 +165,10 @@
    <div class="content">
    <h1 class="title">Binary Distributions</h1>
    <h3 class="section">
    - <a name="Downloading Antlibs"></a>
    - Downloading Antlibs
    + <a name="Downloading Apache Antlibs"></a>
    + Downloading Apache Antlibs
    </h3>
    - <p>Use the links below to download a binary distribution of Antlibs from
    + <p>Use the links below to download a binary distribution of Apache Antlibs from
    one of our mirrors. It is good practice to
    <a href="[location]#Verify Releases">verify the integrity</a>
    of the distribution files, especially if you are using one of our
    @@ -265,8 +265,40 @@ mirrors for a few days.</div>
    [<a href="http://www.apache.org/dist/ant/antlibs/antunit/binaries/apache-ant-antunit-1.1-bin.tar.bz2.md5">MD5</a>]</li>
    </ul>
    </li>
    +
    +<li>Apache Compress Ant Library 1.0
    +<ul>
    +<li><code>.zip</code> archive:
    +<a href="[preferred]/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.zip">apache-ant-compress-1.0-bin.zip</a>
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.zip.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.zip.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.zip.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.zip.md5">MD5</a>]</li>
    +
    +<li><code>.tar.gz</code> archive:
    +<a href="[preferred]/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.gz">apache-ant-compress-1.0-bin.tar.gz</a>
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.gz.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.gz.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.gz.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.gz.md5">MD5</a>]</li>
    +
    +<li><code>.tar.bz2</code> archive:
    +<a href="[preferred]/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.bz2">apache-ant-compress-1.0-bin.tar.bz2</a>
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.bz2.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.bz2.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.bz2.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/binaries/apache-ant-compress-1.0-bin.tar.bz2.md5">MD5</a>]</li>
    +</ul>
    +</li>
    +
    </ul>
    <h3 class="section">
    + <a name="Old Antlib Releases"></a>
    + Old Antlib Releases
    + </h3>
    + <p>Older releases of Ant Libraries can be found <a href="http://archive.apache.org/dist/ant/antlibs/">here</a>.
    +We highly recommend to not use those releases but upgrade to the <a href="[location]#Current Antlib Releases">latest</a> releases.</p>
    + <h3 class="section">
    <a name="Verify Releases"></a>
    Verify Releases
    </h3>

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/charter.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/charter.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/charter.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/charter.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Ant Libraries - Charter</title>
    + <title>Apache Ant - Apache Ant Libraries - Charter</title>
    <link type="text/css" href="../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -163,13 +163,13 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Ant Libraries - Charter</h1>
    + <h1 class="title">Apache Ant Libraries - Charter</h1>
    <h3 class="section">
    <a name="Charter"></a>
    Charter
    </h3>
    <p>Below is the text of the proposal that has been accepted by
    - the Ant PMC. Further amendments are expected.</p>
    + the Apache Ant PMC. Further amendments are expected.</p>
    <pre class="code">
    Proposal to Create a Ant-Libraries Sub-Project in Apache Ant
    ============================================================

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/compress/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/compress/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/compress/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/compress/index.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Compress Antlib</title>
    + <title>Apache Ant - Apache Compress Antlib</title>
    <link type="text/css" href="../../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../../projects/ivyde.html">Introduction</a>
    @@ -163,18 +163,33 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Compress Antlib</h1>
    + <h1 class="title">Apache Compress Antlib</h1>
    <h3 class="section">
    - <a name="Compress Antlib"></a>
    - Compress Antlib
    + <a name="Apache Compress Antlib&amp;#x2122;"></a>
    + Apache Compress Antlib&#x2122;
    </h3>
    <p>This Antlib contains tasks and resources that provide
    compression/uncompression and archival/unarchival capabilities
    based on <a href="http://commons.apache.org/compress/">Apache
    - Commons Compress</a>. Using Apache Commons Compress 1.0 this
    - Antlib supports gzip and bzip2 compression and ar, cpio, tar
    - and zip archives.</p>
    - <p>The current code base is based on the 1.0 release of Commons
    + Commons Compress</a>. Using Apache Commons Compress 1.1
    + this.</p>
    + <h3 class="section">
    + <a name="Compress Ant Library 1.0"></a>
    + Compress Ant Library 1.0
    + </h3>
    + <h3>August 30, 2010 - Apache Compress Ant Library 1.0
    + Available</h3>
    + <p>Apache Compress Ant Library 1.0 is now available for
    + download as <a href="http://ant.apache.org/antlibs/bindownload.cgi">binary</a>
    + or <a href="http://ant.apache.org/antlibs/srcdownload.cgi">source</a>
    + release.</p>
    + <h3 class="section">
    + <a name="Introduction"></a>
    + Introduction
    + </h3>
    + <p>Using Apache Commons Compress this Antlib supports gzip and
    + bzip2 compression and ar, cpio, tar and zip archives.</p>
    + <p>The current code base is based on the 1.1 release of Commons
    Compress but it is expected that this Antlib follows Commons
    Compress' development and will add new compression or
    archiving formats as they are provided by the underlying
    @@ -198,6 +213,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/dotnet/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/dotnet/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/dotnet/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/dotnet/index.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - .NET Ant Library</title>
    + <title>Apache Ant - Apache .NET Ant Library</title>
    <link type="text/css" href="../../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../../projects/ivyde.html">Introduction</a>
    @@ -163,10 +163,16 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">.NET Ant Library</h1>
    + <h1 class="title">Apache .NET Ant Library</h1>
    <h3 class="section">
    - <a name=".NET Ant Library 1.0"></a>
    - .NET Ant Library 1.0
    + <a name="Apache .NET Ant Library&amp;#x2122;"></a>
    + Apache .NET Ant Library&#x2122;
    + </h3>
    + <p>The Apache .NET Antlib provides tasks that support
    + development of .NET software with Apache Ant.</p>
    + <h3 class="section">
    + <a name="Apache .NET Ant Library 1.0"></a>
    + Apache .NET Ant Library 1.0
    </h3>
    <h3>November 6, 2006 - Apache .NET Ant Library 1.0
    Available</h3>
    @@ -305,6 +311,7 @@ Total time: 0 seconds
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/index.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - The Ant Libraries Subproject</title>
    + <title>Apache Ant - The Apache Ant&#x2122; Libraries Subproject</title>
    <link type="text/css" href="../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -163,13 +163,13 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">The Ant Libraries Subproject</h1>
    + <h1 class="title">The Apache Ant&#x2122; Libraries Subproject</h1>
    <h3 class="section">
    - <a name="The Ant Libraries Subproject"></a>
    - The Ant Libraries Subproject
    + <a name="The Apache Ant Libraries Subproject"></a>
    + The Apache Ant Libraries Subproject
    </h3>
    - <h3>Ant Libraries - or Antlibs for short</h3>
    - <p>With Ant 1.6.0 and the ant libraries concept creating
    + <h3>Apache Ant Libraries - or Antlibs for short</h3>
    + <p>With Apache Ant 1.6.0 and the ant libraries concept creating
    libraries of Ant tasks that are easy to get dropped into an
    existing Ant installation has become far easier.</p>
    <p>The Ant Libraries subproject was started as a place to
    @@ -184,6 +184,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/proper.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/proper.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/proper.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/proper.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Ant Libraries</title>
    + <title>Apache Ant - Apache Ant&#x2122; Libraries</title>
    <link type="text/css" href="../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -107,8 +107,8 @@
    <a href="../antlibs/charter.html">Charter</a>
    </li>
    <li>
    - <span class="sel">Ant Libraries</span>
    - </li>
    + <a href="../antlibs/proper.html">Ant Libraries</a>
    + </li>
    <li>
    <a href="../antlibs/sandbox.html">Sandbox Ant Libraries</a>
    </li>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -163,17 +163,17 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Ant Libraries</h1>
    + <h1 class="title">Apache Ant&#x2122; Libraries</h1>
    <h3 class="section">
    - <a name="Ant Libraries"></a>
    - Ant Libraries
    + <a name="Apache Ant Libraries"></a>
    + Apache Ant Libraries
    </h3>
    <a name="antunit" />
    <h4 class="subsection">
    - <a name="AntUnit - Unit Test Framework for Ant Tasks"></a>
    - AntUnit - Unit Test Framework for Ant Tasks
    + <a name="Apache AntUnit&amp;#x2122; - Unit Test Framework for Ant Tasks"></a>
    + Apache AntUnit&#x2122; - Unit Test Framework for Ant Tasks
    </h4>
    - <p>AntUnit borrows ideas from JUnit 3.x and the &lt;junit&gt;
    + <p>Apache AntUnit borrows ideas from JUnit 3.x and the &lt;junit&gt;
    task. It provides a task that runs build files as unit tests
    as well as a number of assertion tasks to support the
    idea.</p>
    @@ -205,7 +205,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/antlibs/antunit/trunk/">http://svn.apache.org/viewcvs.cgi/ant/antlibs/antunit/trunk/</a>
    + <a href="http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/">http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -251,10 +251,10 @@
    </table>
    <a name="compress" />
    <h4 class="subsection">
    - <a name="Compress"></a>
    - Compress
    + <a name="Apache Compress Antlib&amp;#x2122;"></a>
    + Apache Compress Antlib&#x2122;
    </h4>
    - <p>The compress library offers tasks and types for additional
    + <p>The Apache Compress Antlib offers tasks and types for additional
    archive formats like CPIO and AR supported
    by <a href="http://commons.apache.org/compress/">Apache
    Commons Compress</a>.</p>
    @@ -276,7 +276,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="https://svn.apache.org/repos/asf/ant/antlibs/compress/">https://svn.apache.org/repos/asf/ant/antlibs/compress/</a>
    + <a href="https://svn.apache.org/repos/asf/ant/antlibs/compress/trunk/">https://svn.apache.org/repos/asf/ant/antlibs/compress/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -286,7 +286,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/antlibs/compress/">http://svn.apache.org/viewcvs.cgi/ant/antlibs/compress/</a>
    + <a href="http://svn.apache.org/viewvc/ant/antlibs/compress/trunk/">http://svn.apache.org/viewvc/ant/antlibs/compress/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -326,7 +326,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - None
    + 1.0 released on August 30, 2010
    </td>
    </tr>
    </table>
    @@ -369,7 +369,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/antlibs/dotnet/trunk/">http://svn.apache.org/viewcvs.cgi/ant/antlibs/dotnet/trunk/</a>
    + <a href="http://svn.apache.org/viewvc/ant/antlibs/dotnet/trunk/">http://svn.apache.org/viewvc/ant/antlibs/dotnet/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -448,7 +448,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/antlibs/props/trunk/">http://svn.apache.org/viewcvs.cgi/ant/antlibs/props/trunk/</a>
    + <a href="http://svn.apache.org/viewvc/ant/antlibs/props/trunk/">http://svn.apache.org/viewvc/ant/antlibs/props/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -492,11 +492,82 @@
    </td>
    </tr>
    </table>
    + <a name="vss" />
    + <h4 class="subsection">
    + <a name="VSS - Microsoft Visual SourceSafe Tasks"></a>
    + VSS - Microsoft Visual SourceSafe Tasks
    + </h4>
    + <p>This antlib provides an interface to the Microsoft Visual SourceSafe SCM. The original tasks
    + (org.apache.tools.ant.taskdefs.optional.vss) have been expanded upon in this antlib.
    + Some fixes to issues in the original tasks have also been incorporated.</p>
    + <table class="ForrestTable" cellspacing="1" cellpadding="4">
    + <tr>
    + <th colspan="1" rowspan="1"
    + valign="top" align="left">
    + SVN URL:
    + </th>
    + <td colspan="1" rowspan="1"
    + valign="top" align="left">
    + <a href="http://svn.apache.org/repos/asf/ant/antlibs/vss/trunk/">http://svn.apache.org/repos/asf/ant/antlibs/vss/trunk/</a>
    + </td>
    + </tr>
    + <tr>
    + <th colspan="1" rowspan="1"
    + valign="top" align="left">
    + ViewSVN:
    + </th>
    + <td colspan="1" rowspan="1"
    + valign="top" align="left">
    + <a href="http://svn.apache.org/viewvc/ant/antlibs/vss/trunk/">http://svn.apache.org/viewvc/ant/antlibs/vss/trunk/</a>
    + </td>
    + </tr>
    + <tr>
    + <th colspan="1" rowspan="1"
    + valign="top" align="left">
    + Ant compatibility:
    + </th>
    + <td colspan="1" rowspan="1"
    + valign="top" align="left">
    + Ant 1.7.x
    + </td>
    + </tr>
    + <tr>
    + <th colspan="1" rowspan="1"
    + valign="top" align="left">
    + Added to sandbox:
    + </th>
    + <td colspan="1" rowspan="1"
    + valign="top" align="left">
    + 2006-04-26
    + </td>
    + </tr>
    + <tr>
    + <th colspan="1" rowspan="1"
    + valign="top" align="left">
    + Promoted from sandbox:
    + </th>
    + <td colspan="1" rowspan="1"
    + valign="top" align="left">
    + 2010-09-02
    + </td>
    + </tr>
    + <tr>
    + <th colspan="1" rowspan="1"
    + valign="top" align="left">
    + Latest Release:
    + </th>
    + <td colspan="1" rowspan="1"
    + valign="top" align="left">
    + None
    + </td>
    + </tr>
    + </table>

    </div>
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/props/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/props/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/props/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/props/index.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Props Antlib</title>
    + <title>Apache Ant - Apache Props Antlib</title>
    <link type="text/css" href="../../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../../projects/ivyde.html">Introduction</a>
    @@ -163,12 +163,12 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Props Antlib</h1>
    + <h1 class="title">Apache Props Antlib</h1>
    <h3 class="section">
    - <a name="Props Antlib"></a>
    - Props Antlib
    + <a name="Apache Props Antlib&amp;#x2122;"></a>
    + Apache Props Antlib&#x2122;
    </h3>
    - <p>This is a library of supplementary handlers for Ant
    + <p>This is a library of supplementary handlers for Apache Ant
    properties resolution.</p>
    <p>The types provided are instances of
    <code>org.apache.tools.ant.PropertyHelper.Delegate</code> and
    @@ -256,6 +256,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/sandbox.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/sandbox.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/sandbox.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/sandbox.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Ant Libraries - The Sandbox</title>
    + <title>Apache Ant - Apache Ant&#x2122; Libraries - The Sandbox</title>
    <link type="text/css" href="../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -163,12 +163,12 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Ant Libraries - The Sandbox</h1>
    + <h1 class="title">Apache Ant&#x2122; Libraries - The Sandbox</h1>
    <h3 class="section">
    - <a name="Ant Libraries - The Sandbox"></a>
    - Ant Libraries - The Sandbox
    + <a name="Apache Ant Libraries - The Sandbox"></a>
    + Apache Ant Libraries - The Sandbox
    </h3>
    - <p>The sandbox is the place where new Ant Libraries start their
    + <p>The sandbox is the place where new Apache Ant Libraries start their
    life, it is a playground for Ant committers and other
    contributors who find committers to sponsor their ideas.</p>
    <p>The sandbox is no dumping ground. If a Sandbox Ant Library
    @@ -202,7 +202,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/dbpatch/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/dbpatch/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/dbpatch/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/dbpatch/</a>
    </td>
    </tr>
    <tr>
    @@ -259,7 +259,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/debian/trunk/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/debian/trunk/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/debian/trunk/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/debian/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -317,7 +317,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/fscache/trunk/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/fscache/trunk/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/fscache/trunk/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/fscache/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -490,7 +490,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/manual4eclipse/trunk/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/manual4eclipse/trunk/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/manual4eclipse/trunk/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/manual4eclipse/trunk/</a>
    </td>
    </tr>
    <tr>
    @@ -557,7 +557,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/minify/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/minify/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/minify/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/minify/</a>
    </td>
    </tr>
    <tr>
    @@ -614,7 +614,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/starteam/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/starteam/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/starteam/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/starteam/</a>
    </td>
    </tr>
    <tr>
    @@ -649,65 +649,6 @@
    </tr>
    </table>
    <h4 class="subsection">
    - <a name="VSS - Microsoft Visual SourceSafe Tasks"></a>
    - VSS - Microsoft Visual SourceSafe Tasks
    - </h4>
    - <p>This antlib provides an interface to the Microsoft Visual SourceSafe SCM. The original tasks
    - (org.apache.tools.ant.taskdefs.optional.vss) have been expanded upon in this antlib.
    - Some fixes to issues in the original tasks have also been incorporated.</p>
    - <table class="ForrestTable" cellspacing="1" cellpadding="4">
    - <tr>
    - <th colspan="1" rowspan="1"
    - valign="top" align="left">
    - SVN URL:
    - </th>
    - <td colspan="1" rowspan="1"
    - valign="top" align="left">
    - <a href="http://svn.apache.org/repos/asf/ant/sandbox/antlibs/vss/">http://svn.apache.org/repos/asf/ant/sandbox/antlibs/vss/</a>
    - </td>
    - </tr>
    - <tr>
    - <th colspan="1" rowspan="1"
    - valign="top" align="left">
    - ViewSVN:
    - </th>
    - <td colspan="1" rowspan="1"
    - valign="top" align="left">
    - <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/vss/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/vss/</a>
    - </td>
    - </tr>
    - <tr>
    - <th colspan="1" rowspan="1"
    - valign="top" align="left">
    - Ant compatibility:
    - </th>
    - <td colspan="1" rowspan="1"
    - valign="top" align="left">
    - Ant 1.7.x
    - </td>
    - </tr>
    - <tr>
    - <th colspan="1" rowspan="1"
    - valign="top" align="left">
    - Added to sandbox:
    - </th>
    - <td colspan="1" rowspan="1"
    - valign="top" align="left">
    - 2006-04-26
    - </td>
    - </tr>
    - <tr>
    - <th colspan="1" rowspan="1"
    - valign="top" align="left">
    - Sponsoring Committers
    - </th>
    - <td colspan="1" rowspan="1"
    - valign="top" align="left">
    -
    - </td>
    - </tr>
    - </table>
    - <h4 class="subsection">
    <a name="WebLogic"></a>
    WebLogic
    </h4>
    @@ -730,7 +671,7 @@
    </th>
    <td colspan="1" rowspan="1"
    valign="top" align="left">
    - <a href="http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/weblogic/">http://svn.apache.org/viewcvs.cgi/ant/sandbox/antlibs/weblogic/</a>
    + <a href="http://svn.apache.org/viewvc/ant/sandbox/antlibs/weblogic/">http://svn.apache.org/viewvc/ant/sandbox/antlibs/weblogic/</a>
    </td>
    </tr>
    <tr>
    @@ -769,6 +710,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/srcdownload.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/srcdownload.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/srcdownload.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/srcdownload.html Mon Dec 13 18:34:00 2010
    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -165,10 +165,10 @@
    <div class="content">
    <h1 class="title">Source Distributions</h1>
    <h3 class="section">
    - <a name="Downloading Antlibs"></a>
    - Downloading Antlibs
    + <a name="Downloading Apache Antlibs"></a>
    + Downloading Apache Antlibs
    </h3>
    - <p>Use the links below to download a source distribution of Antlibs from
    + <p>Use the links below to download a source distribution of Apache Antlibs from
    one of our mirrors. It is good practice to
    <a href="[location]#Verify Releases">verify the integrity</a>
    of the distribution files, especially if you are using one of our
    @@ -265,8 +265,39 @@ mirrors for a few days.</div>
    [<a href="http://www.apache.org/dist/ant/antlibs/antunit/source/apache-ant-antunit-1.1-src.tar.bz2.md5">MD5</a>]</li>
    </ul>
    </li>
    +
    +<li>Apache Compress Ant Library 1.0
    +<ul>
    +<li><code>.zip</code> archive:
    +<a href="[preferred]/ant/antlibs/compress/source/apache-ant-compress-1.0-src.zip">apache-ant-compress-1.0-src.zip</a>
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.zip.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.zip.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.zip.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.zip.md5">MD5</a>]</li>
    +
    +<li><code>.tar.gz</code> archive:
    +<a href="[preferred]/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.gz">apache-ant-compress-1.0-src.tar.gz</a>
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.gz.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.gz.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.gz.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.gz.md5">MD5</a>]</li>
    +
    +<li><code>.tar.bz2</code> archive:
    +<a href="[preferred]/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.bz2">apache-ant-compress-1.0-src.tar.bz2</a>
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.bz2.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.bz2.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.bz2.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.0-src.tar.bz2.md5">MD5</a>]</li>
    +</ul>
    +</li>
    </ul>
    <h3 class="section">
    + <a name="Old Antlib Releases"></a>
    + Old Antlib Releases
    + </h3>
    + <p>Older releases of Ant Libraries can be found <a href="http://archive.apache.org/dist/ant/antlibs/">here</a>.
    +We highly recommend to not use those releases but upgrade to the <a href="[location]#Current Antlib Releases">latest</a> releases.</p>
    + <h3 class="section">
    <a name="Verify Releases"></a>
    Verify Releases
    </h3>

    Modified: ant/core/branches/ANT_SITE/docs/antlibs/svn/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/antlibs/svn/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/antlibs/svn/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/antlibs/svn/index.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Subversion Ant Library</title>
    + <title>Apache Ant - Apache Subversion Ant Library</title>
    <link type="text/css" href="../../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../../projects/ivyde.html">Introduction</a>
    @@ -163,12 +163,12 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Subversion Ant Library</h1>
    + <h1 class="title">Apache Subversion Ant Library</h1>
    <h3 class="section">
    <a name="Idea"></a>
    Idea
    </h3>
    - <p>The main purpose of this Ant library is to provide the same
    + <p>The main purpose of this Apache Ant library is to provide the same
    level of support that Ant provides for CVS. This means the
    tasks are wrappers on top of the command line client (read: you
    still need to install an svn client) and there is not much more
    @@ -185,14 +185,14 @@
    svn
    </h4>
    <p>A very thin layer on top of the command line executable,
    - comparable to <a href="http://ant.apache.org/manual/CoreTasks/cvs.html">the CVS
    + comparable to <a href="http://ant.apache.org/manual/Tasks/cvs.html">the CVS
    task</a>.</p>
    <h4 class="subsection">
    <a name="changelog"></a>
    changelog
    </h4>
    <p>Creates a log of change comments between two revisions,
    - comparable to <a href="http://ant.apache.org/manual/CoreTasks/changelog.html">CvsChangeLog</a>.</p>
    + comparable to <a href="http://ant.apache.org/manual/Tasks/changelog.html">CvsChangeLog</a>.</p>
    <h4 class="subsection">
    <a name="*diff"></a>
    *diff
    @@ -201,7 +201,7 @@
    for the changes between two tags or branches.</p>
    <p><code>&lt;revisiondiff&gt;</code> creates a differences report
    for the changes between two revisions.</p>
    - <p>Together comparable to <a href="http://ant.apache.org/manual/CoreTasks/cvstagdiff.html">CvsTagDiff</a>.</p>
    + <p>Together comparable to <a href="http://ant.apache.org/manual/Tasks/cvstagdiff.html">CvsTagDiff</a>.</p>
    <h3 class="section">
    <a name="Examples"></a>
    Examples
  • Antoine at Dec 13, 2010 at 6:34 pm
    Modified: ant/core/branches/ANT_SITE/docs/manual/tasksoverview.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/tasksoverview.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/tasksoverview.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/tasksoverview.html Mon Dec 13 18:34:00 2010
    @@ -18,13 +18,13 @@
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    -<title>Overview of Ant Tasks</title>
    +<title>Overview of Apache Ant Tasks</title>
    <base target="mainFrame">
    </head>

    <body>
    <a name="top"></a>
    -<h2>Overview of Ant Tasks</h2>
    +<h2>Overview of Apache Ant Tasks</h2>
    <p>Given the large number of tasks available with Ant, it may be
    difficult to get an overall view of what each task can do. The following
    tables provide a short description of each task and a link to the complete
    @@ -67,109 +67,109 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/unpack.html">BUnzip2</a></td>
    + <td nowrap><a href="Tasks/unpack.html">BUnzip2</a></td>
    <td><p>Expands a file packed using GZip or BZip2.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/pack.html">BZip2</a></td>
    + <td nowrap><a href="Tasks/pack.html">BZip2</a></td>
    <td><p>Packs a file using the GZip or BZip2 algorithm. This task
    does not do any dependency checking; the output file is always
    generated</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/cab.html">Cab</a></td>
    + <td nowrap><a href="Tasks/cab.html">Cab</a></td>
    <td><p>Creates Microsoft CAB archive files. It is invoked
    - similar to the <a href="CoreTasks/jar.html">Jar</a> or
    - <a href="CoreTasks/zip.html">Zip</a> tasks. This task will work on
    + similar to the <a href="Tasks/jar.html">Jar</a> or
    + <a href="Tasks/zip.html">Zip</a> tasks. This task will work on
    Windows using the external <i>cabarc</i> tool (provided by Microsoft),
    which must be located in your executable path.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/ear.html">Ear</a></td>
    - <td><p>An extension of the <a href="CoreTasks/jar.html">Jar</a> task with
    + <td nowrap><a href="Tasks/ear.html">Ear</a></td>
    + <td><p>An extension of the <a href="Tasks/jar.html">Jar</a> task with
    special treatment for files that should end up in an
    Enterprise Application archive.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/gunzip.html">GUnzip</a></td>
    + <td nowrap><a href="Tasks/gunzip.html">GUnzip</a></td>
    <td><p>Expands a GZip file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/gzip.html">GZip</a></td>
    + <td nowrap><a href="Tasks/gzip.html">GZip</a></td>
    <td><p>GZips a set of files.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/jar.html">Jar</a></td>
    + <td nowrap><a href="Tasks/jar.html">Jar</a></td>
    <td><p>Jars a set of files.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/jlink.html">Jlink</a></td>
    + <td nowrap><a href="Tasks/jlink.html">Jlink</a></td>
    <td><p><i>Deprecated.</i> Use the <code>zipfileset</code>
    and <code>zipgroupfileset</code> attributes of the
    - <a href="CoreTasks/jar.html">Jar</a> or
    - <a href="CoreTasks/zip.html">Zip</a> tasks instead.</p></td>
    + <a href="Tasks/jar.html">Jar</a> or
    + <a href="Tasks/zip.html">Zip</a> tasks instead.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/manifest.html">Manifest</a></td>
    + <td nowrap><a href="Tasks/manifest.html">Manifest</a></td>
    <td><p>Creates a manifest file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/rpm.html">Rpm</a></td>
    + <td nowrap><a href="Tasks/rpm.html">Rpm</a></td>
    <td><p>Invokes the <i>rpm</i> executable to build a Linux installation
    file. This task currently only works on Linux or other Unix platforms
    with RPM support.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/signjar.html">SignJar</a></td>
    + <td nowrap><a href="Tasks/signjar.html">SignJar</a></td>
    <td><p>Signs a jar or zip file with the <i>javasign</i>
    command-line tool.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/tar.html">Tar</a></td>
    + <td nowrap><a href="Tasks/tar.html">Tar</a></td>
    <td><p>Creates a tar archive.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/unzip.html">Unjar</a></td>
    + <td nowrap><a href="Tasks/unzip.html">Unjar</a></td>
    <td><p>Unzips a jarfile.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/untar.html">Untar</a></td>
    + <td nowrap><a href="Tasks/untar.html">Untar</a></td>
    <td><p>Untars a tarfile.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/unzip.html">Unwar</a></td>
    + <td nowrap><a href="Tasks/unzip.html">Unwar</a></td>
    <td><p>Unzips a warfile.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/unzip.html">Unzip</a></td>
    + <td nowrap><a href="Tasks/unzip.html">Unzip</a></td>
    <td><p>Unzips a zipfile.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/war.html">War</a></td>
    - <td><p>An extension of the <a href="CoreTasks/jar.html">Jar</a> task
    + <td nowrap><a href="Tasks/war.html">War</a></td>
    + <td><p>An extension of the <a href="Tasks/jar.html">Jar</a> task
    with special treatment for files that should end up in the
    <code>WEB-INF/lib</code>, <code>WEB-INF/classes</code>, or
    <code>WEB-INF</code> directories of the Web Application Archive.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/zip.html">Zip</a></td>
    + <td nowrap><a href="Tasks/zip.html">Zip</a></td>
    <td><p>Creates a zipfile.</p></td>
    </tr>
    </table>
    @@ -191,7 +191,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/jdepend.html">JDepend</a></td>
    + <td nowrap><a href="Tasks/jdepend.html">JDepend</a></td>
    <td><p>Invokes the <a href="http://www.clarkware.com/software/JDepend.html">
    JDepend</a> parser. This parser &quot;traverses a set of Java source-file
    directories and generates design-quality metrics for each Java
    @@ -217,54 +217,54 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/depend.html">Depend</a></td>
    + <td nowrap><a href="Tasks/depend.html">Depend</a></td>
    <td><p>Determines which classfiles are out-of-date with respect to their
    source, removing the classfiles of any other classes that depend on the
    out-of-date classes, forcing the re-compile of the removed classfiles.
    Typically used in conjunction with the
    - <a href="CoreTasks/javac.html">Javac</a> task.</p></td>
    + <a href="Tasks/javac.html">Javac</a> task.</p></td>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/javac.html">Javac</a></td>
    + <td nowrap><a href="Tasks/javac.html">Javac</a></td>
    <td><p>Compiles the specified source file(s) within the running
    (Ant) VM, or in another VM if the <code>fork</code> attribute is
    specified.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/apt.html">Apt</a></td>
    + <td nowrap><a href="Tasks/apt.html">Apt</a></td>
    <td><p>Runs the annotation processor tool (apt), and then optionally compiles
    the original code, and any generated source code.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/jspc.html">JspC</a></td>
    + <td nowrap><a href="Tasks/jspc.html">JspC</a></td>
    <td><p>Runs the JSP compiler. It can be used to precompile JSP pages
    for fast initial invocation of JSP pages, deployment on a server without
    the full JDK installed, or simply to syntax-check the pages without
    - deploying them. The <a href="CoreTasks/javac.html">Javac</a> task
    + deploying them. The <a href="Tasks/javac.html">Javac</a> task
    can be used to compile the generated Java source.
    (For Weblogic JSP compiles,
    - see the <a href="OptionalTasks/wljspc.html">Wljspc</a> task.)</p></td>
    + see the <a href="Tasks/wljspc.html">Wljspc</a> task.)</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/netrexxc.html">NetRexxC</a></td>
    + <td nowrap><a href="Tasks/netrexxc.html">NetRexxC</a></td>
    <td><p>Compiles a
    <a href="http://www2.hursley.ibm.com/netrexx" target="_top">NetRexx</a>
    source tree within the running (Ant) VM.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/rmic.html">Rmic</a></td>
    + <td nowrap><a href="Tasks/rmic.html">Rmic</a></td>
    <td><p>Runs the <i>rmic</i> compiler on the specified file(s).</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/wljspc.html">Wljspc</a></td>
    + <td nowrap><a href="Tasks/wljspc.html">Wljspc</a></td>
    <td><p>Compiles JSP pages using Weblogic's JSP compiler,
    <i>weblogic.jspc</i>. (For non-Weblogic JSP compiles, see the
    - <a href="OptionalTasks/jspc.html">JspC</a> task.</p></td>
    + <a href="Tasks/jspc.html">JspC</a> task.</p></td>
    </tr>

    </table>
    @@ -286,7 +286,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/serverdeploy.html">ServerDeploy</a></td>
    + <td nowrap><a href="Tasks/serverdeploy.html">ServerDeploy</a></td>
    <td><p>Task to run a &quot;hot&quot; deployment tool for vendor-specific
    J2EE server.
    </p></td>
    @@ -310,7 +310,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/javadoc.html">Javadoc/<i>Javadoc2</i></a></td>
    + <td nowrap><a href="Tasks/javadoc.html">Javadoc/<i>Javadoc2</i></a></td>
    <td><p>Generates code documentation using the <i>javadoc</i> tool.
    The Javadoc2 task is deprecated; use the Javadoc task instead.</p></td>
    </tr>
    @@ -334,7 +334,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/ejb.html">EJB Tasks</a></td>
    + <td nowrap><a href="Tasks/ejb.html">EJB Tasks</a></td>
    <td><p>(See the documentation describing the EJB tasks.)</p></td>
    </tr>
    </table>
    @@ -356,54 +356,54 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/ant.html">Ant</a></td>
    + <td nowrap><a href="Tasks/ant.html">Ant</a></td>
    <td><p>Runs Ant on a supplied buildfile, optionally
    passing properties (with possibly new values).
    This task can be used to build sub-projects.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/antcall.html">AntCall</a></td>
    + <td nowrap><a href="Tasks/antcall.html">AntCall</a></td>
    <td><p>Runs another target within the same buildfile, optionally
    passing properties (with possibly new values).</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/apply.html">Apply/<i>ExecOn</i></a></td>
    + <td nowrap><a href="Tasks/apply.html">Apply/<i>ExecOn</i></a></td>
    <td><p>Executes a system command. When the <code>os</code> attribute is
    specified, the command is only executed when Ant is run on one
    of the specified operating systems.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/dependset.html">Dependset</a></td>
    + <td nowrap><a href="Tasks/dependset.html">Dependset</a></td>
    <td><p>This task compares a set of source files with a set of target
    files. If any of the source files is newer than any of
    the target files, all the target files are removed. </p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/exec.html">Exec</a></td>
    + <td nowrap><a href="Tasks/exec.html">Exec</a></td>
    <td><p>Executes a system command. When the <code>os</code> attribute
    is specified, the command is only executed when Ant is run on one of
    the specified operating systems.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/java.html">Java</a></td>
    + <td nowrap><a href="Tasks/java.html">Java</a></td>
    <td><p>Executes a Java class within the running (Ant) VM, or in
    another VM if the <code>fork</code> attribute is specified.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/parallel.html">Parallel</a></td>
    + <td nowrap><a href="Tasks/parallel.html">Parallel</a></td>
    <td><p>A container task that can contain other Ant tasks.
    Each nested task specified within the <code>&lt;parallel&gt;</code>
    tag will be executed in its own thread.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/sequential.html">Sequential</a></td>
    + <td nowrap><a href="Tasks/sequential.html">Sequential</a></td>
    <td><p>A container task that can contain other Ant tasks.
    The nested tasks are simply executed in sequence. Its primary use is
    to support the sequential execution of a subset of tasks within
    @@ -411,22 +411,22 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/sleep.html">Sleep</a></td>
    + <td nowrap><a href="Tasks/sleep.html">Sleep</a></td>
    <td><p> A task for suspending execution for a specified period of time.
    Useful when a build or deployment process requires an interval between
    tasks.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/subant.html">Subant</a></td>
    + <td nowrap><a href="Tasks/subant.html">Subant</a></td>
    <td><p> Calls a given target for all defined sub-builds. This is an extension of ant for bulk project execution.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/waitfor.html">Waitfor</a></td>
    + <td nowrap><a href="Tasks/waitfor.html">Waitfor</a></td>
    <td><p>Blocks execution until a set of specified conditions become true.
    This task is intended to be used with the
    - <a href="CoreTasks/parallel.html">Parallel</a> task to synchronize
    + <a href="Tasks/parallel.html">Parallel</a> task to synchronize
    a set of processes.</p></td>
    </tr>
    </table>
    @@ -448,27 +448,27 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/attrib.html">Attrib</a></td>
    + <td nowrap><a href="Tasks/attrib.html">Attrib</a></td>
    <td><p>Changes the permissions and/or attributes of a file or all
    files inside the specified directories. Currently, it has effect
    only under Windows.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/checksum.html">Checksum</a></td>
    + <td nowrap><a href="Tasks/checksum.html">Checksum</a></td>
    <td><p>Generates a checksum for a file or set of files. This task can
    also be used to perform checksum verifications.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/chgrp.html">Chgrp</a></td>
    + <td nowrap><a href="Tasks/chgrp.html">Chgrp</a></td>
    <td><p>Changes the group ownership of a file or all files inside
    the specified directories. Currently, it has effect only under
    Unix.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/chmod.html">Chmod</a></td>
    + <td nowrap><a href="Tasks/chmod.html">Chmod</a></td>
    <td><p>Changes the permissions of a file or all files inside the
    specified directories. Currently, it has effect only under Unix.
    The permissions are also UNIX style, like the arguments for the
    @@ -476,105 +476,105 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/chown.html">Chown</a></td>
    + <td nowrap><a href="Tasks/chown.html">Chown</a></td>
    <td><p>Changes the owner of a file or all files inside the
    specified directories. Currently, it has effect only under
    Unix.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/concat.html">Concat</a></td>
    + <td nowrap><a href="Tasks/concat.html">Concat</a></td>
    <td><p>Concatenates multiple files into a single one or to Ant's
    logging system.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/copy.html">Copy</a></td>
    + <td nowrap><a href="Tasks/copy.html">Copy</a></td>
    <td><p>Copies a file or Fileset to a new file or directory.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/copydir.html"><i>Copydir</i></a></td>
    + <td nowrap><a href="Tasks/copydir.html"><i>Copydir</i></a></td>
    <td><p><i>Deprecated.</i> Use the
    - <a href="CoreTasks/copy.html">Copy</a> task instead.</p></td>
    + <a href="Tasks/copy.html">Copy</a> task instead.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/copyfile.html"><i>Copyfile</i></a></td>
    + <td nowrap><a href="Tasks/copyfile.html"><i>Copyfile</i></a></td>
    <td><p><i>Deprecated.</i> Use the
    - <a href="CoreTasks/copy.html">Copy</a> task instead.</p></td>
    + <a href="Tasks/copy.html">Copy</a> task instead.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/delete.html">Delete</a></td>
    + <td nowrap><a href="Tasks/delete.html">Delete</a></td>
    <td><p>Deletes either a single file, all files and sub-directories
    in a specified directory, or a set of files specified by one or more
    - <a href="CoreTypes/fileset.html">FileSet</a>s.</p></td>
    + <a href="Types/fileset.html">FileSet</a>s.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/deltree.html"><i>Deltree</i></a></td>
    + <td nowrap><a href="Tasks/deltree.html"><i>Deltree</i></a></td>
    <td><p><i>Deprecated.</i> Use the
    - <a href="CoreTasks/delete.html">Delete</a> task instead.</p></td>
    + <a href="Tasks/delete.html">Delete</a> task instead.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/filter.html">Filter</a></td>
    + <td nowrap><a href="Tasks/filter.html">Filter</a></td>
    <td><p>Sets a token filter for this project, or reads multiple token
    filters from a specified file and sets these as filters. Token filters
    are used by all tasks that perform file-copying operations.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/fixcrlf.html">FixCRLF</a></td>
    + <td nowrap><a href="Tasks/fixcrlf.html">FixCRLF</a></td>
    <td><p>Modifies a file to add or remove tabs, carriage returns, linefeeds,
    and EOF characters.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/get.html">Get</a></td>
    + <td nowrap><a href="Tasks/get.html">Get</a></td>
    <td><p>Gets a file from a URL.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/mkdir.html">Mkdir</a></td>
    + <td nowrap><a href="Tasks/mkdir.html">Mkdir</a></td>
    <td><p>Creates a directory. Non-existent parent directories are created,
    when necessary.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/move.html">Move</a></td>
    + <td nowrap><a href="Tasks/move.html">Move</a></td>
    <td><p>Moves a file to a new file or directory, or a set(s) of file(s) to
    a new directory.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/patch.html">Patch</a></td>
    + <td nowrap><a href="Tasks/patch.html">Patch</a></td>
    <td><p>Applies a &quot;diff&quot; file to originals.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/rename.html"><i>Rename</i></a></td>
    - <td><p><i>Deprecated.</i> Use the <a href="CoreTasks/move.html">Move</a>
    + <td nowrap><a href="Tasks/rename.html"><i>Rename</i></a></td>
    + <td><p><i>Deprecated.</i> Use the <a href="Tasks/move.html">Move</a>
    task instead.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/renameextensions.html">
    + <td nowrap><a href="Tasks/renameextensions.html">
    <i>RenameExtensions</i></a></td>
    - <td><p><i>Deprecated</i>. Use the <a href="CoreTasks/move.html">Move</a>
    - task with a <a href="CoreTypes/mapper.html#glob-mapper">glob mapper</a>
    + <td><p><i>Deprecated</i>. Use the <a href="Tasks/move.html">Move</a>
    + task with a <a href="Types/mapper.html#glob-mapper">glob mapper</a>
    instead.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/replace.html">Replace</a></td>
    + <td nowrap><a href="Tasks/replace.html">Replace</a></td>
    <td><p>Replace is a directory-based task for replacing the occurrence
    of a given string with another string in selected file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/replaceregexp.html">
    + <td nowrap><a href="Tasks/replaceregexp.html">
    ReplaceRegExp</a></td>
    <td><p>Directory-based task for replacing the occurrence of a given
    regular expression with a substitution pattern in a file or set of
    @@ -582,18 +582,18 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/sync.html">Sync</a></td>
    + <td nowrap><a href="Tasks/sync.html">Sync</a></td>
    <td><p>Synchronize two directory trees.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/tempfile.html">Tempfile</a></td>
    + <td nowrap><a href="Tasks/tempfile.html">Tempfile</a></td>
    <td><p>Generates a name for a new temporary file and sets the specified
    property to that name.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/touch.html">Touch</a></td>
    + <td nowrap><a href="Tasks/touch.html">Touch</a></td>
    <td><p>Changes the modification time of a file and possibly creates it at
    the same time.</p></td>
    </tr>
    @@ -617,7 +617,7 @@ documentation.</p>

    <tr valign="top">
    <td nowrap>
    - <a href="OptionalTasks/jarlib-available.html">Jarlib-available</a></td>
    + <a href="Tasks/jarlib-available.html">Jarlib-available</a></td>
    <td><p>Check whether an extension is present in a FileSet or an
    ExtensionSet. If the extension is present, the specified property is
    set.</p>
    @@ -626,7 +626,7 @@ documentation.</p>

    <tr valign="top">
    <td nowrap>
    - <a href="OptionalTasks/jarlib-display.html">Jarlib-display</a></td>
    + <a href="Tasks/jarlib-display.html">Jarlib-display</a></td>
    <td><p>Display the &quot;Optional Package&quot; and
    &quot;Package Specification&quot; information contained within the
    specified jars.</p>
    @@ -635,7 +635,7 @@ documentation.</p>

    <tr valign="top">
    <td nowrap>
    - <a href="OptionalTasks/jarlib-manifest.html">Jarlib-manifest</a></td>
    + <a href="Tasks/jarlib-manifest.html">Jarlib-manifest</a></td>
    <td><p>Task to generate a manifest that declares all the dependencies
    in manifest. The dependencies are determined by looking in the
    specified path and searching for Extension/&quot;Optional Package&quot;
    @@ -645,7 +645,7 @@ documentation.</p>

    <tr valign="top">
    <td nowrap>
    - <a href="OptionalTasks/jarlib-resolve.html">Jarlib-resolve</a></td>
    + <a href="Tasks/jarlib-resolve.html">Jarlib-resolve</a></td>
    <td><p>Try to locate a jar to satisfy an extension, and place the
    location of the jar into the specified property.</p>
    </td>
    @@ -670,7 +670,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/recorder.html">Record</a></td>
    + <td nowrap><a href="Tasks/recorder.html">Record</a></td>
    <td><p>Runs a listener that records the logging output of the
    build-process events to a file. Several recorders can exist
    at the same time. Each recorder is associated with a file.</p></td>
    @@ -694,13 +694,13 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/mail.html">Mail</a></td>
    + <td nowrap><a href="Tasks/mail.html">Mail</a></td>
    <td><p>A task to send SMTP email.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/mimemail.html">MimeMail</a></td>
    - <td><p><i>Deprecated</i>. Use the <a href="CoreTasks/mail.html">Mail</a>
    + <td nowrap><a href="Tasks/mimemail.html">MimeMail</a></td>
    + <td><p><i>Deprecated</i>. Use the <a href="Tasks/mail.html">Mail</a>
    task instead.</p></td>
    </tr>

    @@ -723,60 +723,60 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/defaultexcludes.html">Defaultexcludes</a></td>
    + <td nowrap><a href="Tasks/defaultexcludes.html">Defaultexcludes</a></td>
    <td><p>Modify the list of default exclude patterns from within
    your build file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/echo.html">Echo</a></td>
    + <td nowrap><a href="Tasks/echo.html">Echo</a></td>
    <td><p>Echoes text to <code>System.out</code> or to a file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/fail.html">Fail</a></td>
    + <td nowrap><a href="Tasks/fail.html">Fail</a></td>
    <td><p>Exits the current build by throwing a BuildException,
    optionally printing additional information.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/genkey.html">GenKey</a></td>
    + <td nowrap><a href="Tasks/genkey.html">GenKey</a></td>
    <td><p>Generates a key in keystore.</p></td>
    </tr>


    <tr valign="top">
    - <td nowrap><a href="CoreTasks/hostinfo.html">HostInfo</a></td>
    + <td nowrap><a href="Tasks/hostinfo.html">HostInfo</a></td>
    <td><p>Sets properties related to the provided host, or to
    the host the process is run on.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/input.html">Input</a></td>
    + <td nowrap><a href="Tasks/input.html">Input</a></td>
    <td><p>Allows user interaction during the build process by displaying a
    message and reading a line of input from the console.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/script.html">Script</a></td>
    + <td nowrap><a href="Tasks/script.html">Script</a></td>
    <td><p>Executes a script in a
    <a href="http://jakarta.apache.org/bsf/"
    target="_top">Apache BSF</a>-supported language.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/sound.html">Sound</a></td>
    + <td nowrap><a href="Tasks/sound.html">Sound</a></td>
    <td><p>Plays a sound file at the end of the build, according to whether
    the build failed or succeeded.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/splash.html">Splash</a></td>
    + <td nowrap><a href="Tasks/splash.html">Splash</a></td>
    <td><p>Displays a splash screen.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/sql.html">Sql</a></td>
    + <td nowrap><a href="Tasks/sql.html">Sql</a></td>
    <td><p>Executes a series of SQL statements via JDBC to a database.
    Statements can either be read in from a text file using the
    <code>src</code> attribute, or from between the enclosing SQL
    @@ -784,26 +784,26 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/taskdef.html">Taskdef</a></td>
    + <td nowrap><a href="Tasks/taskdef.html">Taskdef</a></td>
    <td><p>Adds a task definition to the current project, such that this
    new task can be used in the current project.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/tstamp.html">TStamp</a></td>
    + <td nowrap><a href="Tasks/tstamp.html">TStamp</a></td>
    <td><p>Sets the <code>DSTAMP</code>, <code>TSTAMP</code>, and
    <code>TODAY</code> properties in the current project, based on
    the current date and time.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/typedef.html">Typedef</a></td>
    + <td nowrap><a href="Tasks/typedef.html">Typedef</a></td>
    <td><p>Adds a data-type definition to the current project, such that this
    new type can be used in the current project.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/xmlvalidate.html">XmlValidate</a></td>
    + <td nowrap><a href="Tasks/xmlvalidate.html">XmlValidate</a></td>
    <td><p>Checks that XML files are valid (or only well-formed). This task
    uses the XML parser that is currently used by Ant by default, but any SAX1/2
    parser can be specified, if needed.</p></td>
    @@ -827,42 +827,42 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/antlr.html">ANTLR</a></td>
    + <td nowrap><a href="Tasks/antlr.html">ANTLR</a></td>
    <td><p>Invokes the <a HREF="http://www.antlr.org/" target="_top">ANTLR</a>
    Translator generator on a grammar file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/antstructure.html">AntStructure</a></td>
    + <td nowrap><a href="Tasks/antstructure.html">AntStructure</a></td>
    <td><p>Generates a DTD for Ant buildfiles that contains information
    about all tasks currently known to Ant.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/import.html">Import</a></td>
    + <td nowrap><a href="Tasks/import.html">Import</a></td>
    <td><p>Import another build file and potentially override targets
    in it with targets of your own.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/include.html">Include</a></td>
    + <td nowrap><a href="Tasks/include.html">Include</a></td>
    <td><p>Include another build file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/javacc.html">JavaCC</a></td>
    + <td nowrap><a href="Tasks/javacc.html">JavaCC</a></td>
    <td><p>Invokes the
    <a HREF="http://javacc.dev.java.net/" target="_top">
    JavaCC</a> compiler-compiler on a grammar file.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/javah.html">Javah</a></td>
    + <td nowrap><a href="Tasks/javah.html">Javah</a></td>
    <td><p>Generates JNI headers from a Java class.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/jjdoc.html">JJDoc</a></td>
    + <td nowrap><a href="Tasks/jjdoc.html">JJDoc</a></td>
    <td><p>Invokes the <a href="http://javacc.dev.java.net/">
    JJDoc</a> documentation generator for the JavaCC compiler-compiler.
    JJDoc takes a JavaCC parser specification and produces documentation
    @@ -872,7 +872,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/jjtree.html">JJTree</a></td>
    + <td nowrap><a href="Tasks/jjtree.html">JJTree</a></td>
    <td><p>Invokes the <a href="http://javacc.dev.java.net/">
    JJTree</a> preprocessor for the JavaCC compiler-compiler. It inserts
    parse-tree building actions at various places in the JavaCC source that
    @@ -882,12 +882,12 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/macrodef.html">Macrodef</a></td>
    + <td nowrap><a href="Tasks/macrodef.html">Macrodef</a></td>
    <td><p>Define a new task as a macro built-up upon other tasks.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/native2ascii.html">
    + <td nowrap><a href="Tasks/native2ascii.html">
    Native2Ascii</a></td>
    <td><p>Converts files from native encodings to ASCII with escaped Unicode.
    A common usage is to convert source files maintained in a native
    @@ -895,19 +895,19 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/presetdef.html">Presetdef</a></td>
    + <td nowrap><a href="Tasks/presetdef.html">Presetdef</a></td>
    <td><p>Define a new task by instrumenting an existing task with
    default values for attributes or child elements.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/translate.html">Translate</a></td>
    + <td nowrap><a href="Tasks/translate.html">Translate</a></td>
    <td><p>Identifies keys in files, delimited by special tokens, and
    translates them with values read from resource bundles.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/style.html">XSLT</a></td>
    + <td nowrap><a href="Tasks/style.html">XSLT</a></td>
    <td><p>Processes a set of documents via XSLT.</p></td>
    </tr>

    @@ -930,49 +930,49 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/available.html">Available</a></td>
    + <td nowrap><a href="Tasks/available.html">Available</a></td>
    <td><p>Sets a property if a specified file, directory, class in the
    classpath, or JVM system resource is available at runtime.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/basename.html">Basename</a></td>
    + <td nowrap><a href="Tasks/basename.html">Basename</a></td>
    <td><p>Sets a property to the last element of a specified path.
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/buildnumber.html">BuildNumber</a></td>
    + <td nowrap><a href="Tasks/buildnumber.html">BuildNumber</a></td>
    <td><p>Task that can be used to track build numbers.
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/condition.html">Condition</a></td>
    + <td nowrap><a href="Tasks/condition.html">Condition</a></td>
    <td><p>Sets a property if a certain condition holds true; this is a
    - generalization of <a href="CoreTasks/available.html">Available</a> and
    - <a href="CoreTasks/uptodate.html">Uptodate</a>.</p></td>
    + generalization of <a href="Tasks/available.html">Available</a> and
    + <a href="Tasks/uptodate.html">Uptodate</a>.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/dirname.html">Dirname</a></td>
    + <td nowrap><a href="Tasks/dirname.html">Dirname</a></td>
    <td><p>Sets a property to the value of the specified file up to,
    but not including, the last path element.
    </tr>

    <tr valign="top">
    <td nowrap>
    - <a href="OptionalTasks/echoproperties.html">Echoproperties</a><br>
    + <a href="Tasks/echoproperties.html">Echoproperties</a><br>

    </td>
    <td><p>Lists the current properties.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/loadfile.html">LoadFile</a></td>
    + <td nowrap><a href="Tasks/loadfile.html">LoadFile</a></td>
    <td><p>Loads a file into a property.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/loadproperties.html">LoadProperties</a></td>
    + <td nowrap><a href="Tasks/loadproperties.html">LoadProperties</a></td>
    <td><p>Load a file's contents as Ant properties. This task is
    equivalent to using <code>&lt;property file=&quot;...&quot;/&gt;</code>
    except that it supports nested <code>&lt;filterchain&gt;</code> elements,
    @@ -980,12 +980,12 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/makeurl.html">MakeURL</a></td>
    + <td nowrap><a href="Tasks/makeurl.html">MakeURL</a></td>
    <td><p>Creates a URL (list) from a file/fileset or path</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/pathconvert.html">PathConvert</a></td>
    + <td nowrap><a href="Tasks/pathconvert.html">PathConvert</a></td>
    <td><p>Converts a nested path, path reference, filelist reference, or
    fileset reference to the form usable on a specified platform and/or
    to a list of items separated by the specified separator and stores
    @@ -993,13 +993,13 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/property.html">Property</a></td>
    + <td nowrap><a href="Tasks/property.html">Property</a></td>
    <td><p>Sets a property (by name and value), or set of properties
    (from a file or resource) in the project.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/propertyfile.html">
    + <td nowrap><a href="Tasks/propertyfile.html">
    PropertyFile</a></td>
    <td><p>Creates or modifies property files. Useful when wanting to make
    unattended modifications to configuration files for application
    @@ -1009,18 +1009,18 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/uptodate.html">Uptodate</a></td>
    + <td nowrap><a href="Tasks/uptodate.html">Uptodate</a></td>
    <td><p>Sets a property if a given target file is newer than a set of
    source files.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/whichresource.html">Whichresource</a></td>
    + <td nowrap><a href="Tasks/whichresource.html">Whichresource</a></td>
    <td><p>Find a class or resource.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/xmlproperty.html">XmlProperty</a></td>
    + <td nowrap><a href="Tasks/xmlproperty.html">XmlProperty</a></td>
    <td><p>Loads property values from a well-formed XML file.</p></td>
    </tr>
    </table>
    @@ -1042,34 +1042,34 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/ftp.html">FTP</a></td>
    + <td nowrap><a href="Tasks/ftp.html">FTP</a></td>
    <td><p>Implements a basic FTP client that can send, receive,
    list, and delete files, and create directories.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/rexec.html">Rexec</a></td>
    + <td nowrap><a href="Tasks/rexec.html">Rexec</a></td>
    <td><p>Task to automate a remote rexec session.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/scp.html">Scp</a></td>
    + <td nowrap><a href="Tasks/scp.html">Scp</a></td>
    <td><p>Copy files to or from a remote server using SSH.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/setproxy.html">setproxy</a></td>
    + <td nowrap><a href="Tasks/setproxy.html">setproxy</a></td>
    <td><p>Sets Java's web proxy properties, so that tasks and code run
    in the same JVM can have through-the-firewall access to remote web sites.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/sshexec.html">Sshexec</a></td>
    + <td nowrap><a href="Tasks/sshexec.html">Sshexec</a></td>
    <td><p>Execute a command on a remote server using SSH.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/telnet.html">Telnet</a></td>
    + <td nowrap><a href="Tasks/telnet.html">Telnet</a></td>
    <td><p>Task to automate a remote <i>telnet</i> session. This task uses
    nested <code>&lt;read&gt;</code> and <code>&lt;write&gt;</code> tags
    to indicate strings to wait for and specify text to send.</p></td>
    @@ -1094,47 +1094,47 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/cvs.html">Cvs</a></td>
    + <td nowrap><a href="Tasks/cvs.html">Cvs</a></td>
    <td><p>Handles packages/modules retrieved from a
    <a href="http://www.nongnu.org/cvs/" target="_top">CVS</a>
    repository.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/changelog.html">CvsChangeLog</a></td>
    + <td nowrap><a href="Tasks/changelog.html">CvsChangeLog</a></td>
    <td><p>Generates an XML report of the changes recorded in a
    <a href="http://www.nongnu.org/cvs/" target="_top">CVS</a>
    repository.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/cvspass.html">CVSPass</a></td>
    + <td nowrap><a href="Tasks/cvspass.html">CVSPass</a></td>
    <td><p>Adds entries to a .cvspass file. Adding entries to this file
    has the same affect as a <i>cvs login</i> command.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="CoreTasks/cvstagdiff.html">CvsTagDiff</a></td>
    + <td nowrap><a href="Tasks/cvstagdiff.html">CvsTagDiff</a></td>
    <td><p>Generates an XML-formatted report file of the changes between
    two tags or dates recorded in a <a href="http://www.nongnu.org/cvs/"
    target="_top">CVS</a> repository.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/clearcase.html">ClearCase</a></td>
    + <td nowrap><a href="Tasks/clearcase.html">ClearCase</a></td>
    <td><p>Tasks to perform the ClearCase cleartool <i>checkin</i>, <i>checkout</i>,
    <i>uncheckout</i>, <i>update</i>, <i>lock</i>, <i>unlock</i>, <i>mklbtype</i>, <i>rmtype</i>, <i>mklabel</i>, <i>mkattr</i>, <i>mkdir</i>, <i>mkelem</i>, and <i>mkbl</i> commands.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/ccm.html">Continuus/Synergy</a></td>
    + <td nowrap><a href="Tasks/ccm.html">Continuus/Synergy</a></td>
    <td><p>Tasks to perform the Continuus <i>ccmcheckin</i>,
    <i>ccmcheckout</i>, <i>ccmcheckintask</i>, <i>ccmreconfigure</i>, and
    <i>ccmcreateTask</i> commands.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/vss.html">
    + <td nowrap><a href="Tasks/vss.html">
    Microsoft Visual SourceSafe</a></td>
    <td><p>Tasks to perform the Visual SourceSafe <i>vssget</i>,
    <i>vsslabel</i>, <i>vsshistory</i>, <i>vsscheckin</i>,
    @@ -1143,7 +1143,7 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/perforce.html">Perforce</a></td>
    + <td nowrap><a href="Tasks/perforce.html">Perforce</a></td>
    <td><p>Tasks to perform the Perforce <i>p4sync</i>, <i>p4change</i>,
    <i>p4edit</i>, <i>p4submit</i>, <i>p4have</i>, <i>p4label</i>,
    <i>p4counter</i>, <i>p4reopen</i>, <i>p4revert</i>, and <i>p4add</i>
    @@ -1151,26 +1151,17 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/pvcstask.html">Pvcs</a></td>
    + <td nowrap><a href="Tasks/pvcstask.html">Pvcs</a></td>
    <td><p>Allows the user extract the latest edition of the source code
    from a PVCS repository.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/sos.html">SourceOffSite</a></td>
    + <td nowrap><a href="Tasks/sos.html">SourceOffSite</a></td>
    <td><p>Tasks to perform the SourceOffSite <i>sosget</i>, <i>soslabel</i>,
    <i>soscheckin</i>, and <i>soscheckout</i> commands.</p></td>
    </tr>

    - <tr valign="top">
    - <td nowrap><a href="OptionalTasks/starteam.html">StarTeam</a></td>
    - <td><p>Tasks to perform the StarTeam <i>stcheckout</i>, <i>stcheckin</i>,
    - <i>stlabel</i>, and <i>stlist</i> commands. The
    - <a href="OptionalTasks/starteam.html#starteam">Starteam</a> task
    - is deprecated; use
    - <a href="OptionalTasks/starteam.html#stcheckout">STCheckout</a>
    - instead.</p></td>
    - </tr>
    </table>

    <p></p>
    @@ -1190,16 +1181,16 @@ documentation.</p>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/junit.html">Junit</a></td>
    + <td nowrap><a href="Tasks/junit.html">Junit</a></td>
    <td><p>Runs tests from the <a href="http://www.junit.org">Junit</a>
    testing framework. This task has been tested with JUnit 3.0 up to
    JUnit 3.7; it won't work with versions prior to JUnit 3.0.</p></td>
    </tr>

    <tr valign="top">
    - <td nowrap><a href="OptionalTasks/junitreport.html">JunitReport</a></td>
    + <td nowrap><a href="Tasks/junitreport.html">JunitReport</a></td>
    <td><p>Merges the individual XML files generated by the
    - <a href="OptionalTasks/junit.html">Junit</a> task and applies a
    + <a href="Tasks/junit.html">Junit</a> task and applies a
    stylesheet on the resulting merged document to provide a browsable
    report of the testcases results.</p></td>
    </tr>

    Modified: ant/core/branches/ANT_SITE/docs/manual/toc.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/toc.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/toc.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/toc.html Mon Dec 13 18:34:00 2010
    @@ -28,9 +28,9 @@
    <h2>Table of Contents</h2>
    <ul class="inlinelist">
    <li><a href="intro.html">Introduction</a></li>
    -<li><a href="installlist.html" target="navFrame">Installing Ant</a></li>
    -<li><a href="usinglist.html" target="navFrame">Using Ant</a></li>
    -<li><a href="runninglist.html" target="navFrame">Running Ant</a></li>
    +<li><a href="installlist.html" target="navFrame">Installing Apache Ant</a></li>
    +<li><a href="usinglist.html" target="navFrame">Using Apache Ant</a></li>
    +<li><a href="runninglist.html" target="navFrame">Running Apache Ant</a></li>
    <li><a href="anttaskslist.html" target="navFrame">Ant Tasks</a></li>
    <li><a href="conceptstypeslist.html" target="navFrame">Concepts and Types</a></li>
    <li><a href="listeners.html" target="mainFrame">Loggers &amp; Listeners</a></li>

    Modified: ant/core/branches/ANT_SITE/docs/manual/tutorial-HelloWorldWithAnt.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/tutorial-HelloWorldWithAnt.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/tutorial-HelloWorldWithAnt.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/tutorial-HelloWorldWithAnt.html Mon Dec 13 18:34:00 2010
    @@ -16,13 +16,13 @@
    -->
    <html>
    <head>
    - <title>Tutorial: Hello World with Ant</title>
    + <title>Tutorial: Hello World with Apache Ant</title>
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    </head>
    <body>
    -<h1>Tutorial: Hello World with Ant</h1>
    +<h1>Tutorial: Hello World with Apache Ant</h1>

    -<p>This document provides a step by step tutorial for starting java programming with Ant.
    +<p>This document provides a step by step tutorial for starting java programming with Apache Ant.
    It does <b>not</b> contain deeper knowledge about Java or Ant. This tutorial has the goal
    to let you see, how to do the easiest steps in Ant.</p>

    @@ -408,7 +408,7 @@ public class HelloWorldTest extends juni
    }</pre>

    <p>Because we dont have real business logic to test, this test class is very small: just show how to start. For
    -further information see the JUnit documentation [3] and the manual of <a href="OptionalTasks/junit.html">junit</a> task.
    +further information see the JUnit documentation [3] and the manual of <a href="Tasks/junit.html">junit</a> task.
    Now we add a junit instruction to our buildfile:</p>

    <pre class="code">

    Modified: ant/core/branches/ANT_SITE/docs/manual/tutorial-tasks-filesets-properties.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/tutorial-tasks-filesets-properties.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/tutorial-tasks-filesets-properties.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/tutorial-tasks-filesets-properties.html Mon Dec 13 18:34:00 2010
    @@ -24,7 +24,7 @@

    <p>After reading the tutorial about <a href="tutorial-writing-tasks.html">writing
    tasks [1]</a> this tutorial explains how to get and set properties and how to use
    -nested filesets and paths. Finally it explains how to contribute tasks to Ant.</p>
    +nested filesets and paths. Finally it explains how to contribute tasks to Apache Ant.</p>

    <h2>Content</h2>
    <p><ul>
    @@ -551,7 +551,7 @@ form you do that depends on your favouri
    it has advantages if you use that: all task users know that form, this form is requested if
    you decide to contribute your task. So we will doc our task in that form.</p>

    -<p>If you have a look at the manual page of the <a href="CoreTasks/java.html">Java task [5]</a>
    +<p>If you have a look at the manual page of the <a href="Tasks/java.html">Java task [5]</a>
    you will see that it:<ul>
    <li>is plain html</li>
    <li>starts with the name</li>
    @@ -715,8 +715,7 @@ information on that.</p>
    <li>Patch files generated using cvs diff -u <b><i>to do</i></b></li>
    <li>patch files include a patch to defaults.properties to register the
    tasks <b><i>to do</i></b></li>
    -<li>patch files include a patch to coretasklist.html or
    -optionaltasklist.html to link to the new task page <b><i>to do</i></b></li>
    +<li>patch files include a patch to tasklist.html to link to the new task page <b><i>to do</i></b></li>
    <li>Message to dev contains [SUBMIT] and task name in subject <b><i>to do</i></b></li>
    <li>Message body contains a rationale for the task <b><i>to do</i></b></li>
    <li>Message attachments contain the required files -source, documentation,
    @@ -783,9 +782,9 @@ necessary and saves a lot of work if you
    <li>delete the dependency to "use.init" in the find.xml </li>
    <li>in FindTest.java change the line <tt>configureProject("build.xml");</tt> to
    <tt>configureProject("src/etc/testcases/taskdefs/find.xml");</tt> </li>
    -<li>move the find.html to ANTHOME/docs/manual/CoreTasks/find.html </li>
    -<li>add a <tt>&lt;a href="CoreTasks/find.html"&gt;Find&lt;/a&gt;&lt;br&gt;</tt>
    - in the ANTHOME/docs/manual/coretasklist.html </li>
    +<li>move the find.html to ANTHOME/docs/manual/Tasks/find.html </li>
    +<li>add a <tt>&lt;a href="Tasks/find.html"&gt;Find&lt;/a&gt;&lt;br&gt;</tt>
    + in the ANTHOME/docs/manual/tasklist.html </li>
    </ul>

    Now our modifications are done and we will retest it:
    @@ -837,7 +836,7 @@ is the same as directly after the cvs up
    <h3>Test on JDK 1.2</h3>
    <p>Until version 1.5 Ant must be able to run on a JDK 1.1. With version 1.6 this is not a
    requisite any more. But JDK 1.2 is a must-to-work-with. So we have to test that. You can download older
    -JDKs from <a href="http://java.sun.com/products/archive/index.html">Sun [8]</a>.</p>
    +JDKs from <a href="http://www.oracle.com/technetwork/java/archive-139210.html">Oracle [8]</a>.</p>

    <p>Clean the ANT_HOME variable, delete the <i>build, bootstrap</i> and <i>dist</i> directory
    and point JAVA_HOME to the JDK 1.2 home directory. Then do the <tt>build</tt>, set ANT_HOME
    @@ -850,7 +849,7 @@ and run <tt>ant test</tt> (like above).<
    <h3>Checkstyle</h3>
    <p>There are many things we have to ensure. Indentation with 4 spaces, blanks here and there, ...
    (all described in the <a href="../ant_task_guidelines.html">Ant Task Guidelines [6]</a> which
    -includes the <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Sun code style
    +includes the <a href="http://www.oracle.com/technetwork/java/codeconvtoc-136057.html">Sun code style
    [9]</a>). Because there are so many things we would be happy to have a tool for do the checks.
    There is one: checkstyle. Checkstyle is available at <a href="http://checkstyle.sourceforge.net/">
    Sourceforge [10]</a> and Ant provides with the <tt>check.xml</tt> a buildfile which will do the job
    @@ -954,11 +953,11 @@ Now the new task is uploaded into the bu
    &nbsp;&nbsp;[2] <a href="tutorial-tasks-filesets-properties.zip">tutorial-tasks-filesets-properties.zip</a><br>
    &nbsp;&nbsp;[3] <a href="properties.html#built-in-props">properties.html#built-in-props</a><br>
    &nbsp;&nbsp;[4] <a href="http://ant-contrib.sourceforge.net/">http://ant-contrib.sourceforge.net/</a><br>
    -&nbsp;&nbsp;[5] <a href="CoreTasks/java.html">CoreTasks/java.html</a><br>
    +&nbsp;&nbsp;[5] <a href="Tasks/java.html">Tasks/java.html</a><br>
    &nbsp;&nbsp;[6] <a href="http://ant.apache.org/ant_task_guidelines.html">http://ant.apache.org/ant_task_guidelines.html</a><br>
    &nbsp;&nbsp;[7] <a href="http://ant.apache.org/cvs.html">http://ant.apache.org/cvs.html</a><br>
    -&nbsp;&nbsp;[8] <a href="http://java.sun.com/products/archive/index.html">http://java.sun.com/products/archive/index.html</a><br>
    -&nbsp;&nbsp;[9] <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html</a><br>
    +&nbsp;&nbsp;[8] <a href="http://www.oracle.com/technetwork/java/archive-139210.html">http://www.oracle.com/technetwork/java/archive-139210.html</a><br>
    +&nbsp;&nbsp;[9] <a href="http://www.oracle.com/technetwork/java/codeconvtoc-136057.html">http://www.oracle.com/technetwork/java/codeconvtoc-136057.html</a><br>
    &nbsp;&nbsp;[10] <a href="http://checkstyle.sourceforge.net/">http://checkstyle.sourceforge.net/</a><br>
    &nbsp;&nbsp;[11] <a href="http://issues.apache.org/bugzilla/">http://issues.apache.org/bugzilla/</a><br>
    &nbsp;&nbsp;[12] <a href="http://issues.apache.org/bugzilla/createaccount.cgi">http://issues.apache.org/bugzilla/createaccount.cgi</a><br>

    Modified: ant/core/branches/ANT_SITE/docs/manual/tutorial-writing-tasks.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/tutorial-writing-tasks.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/tutorial-writing-tasks.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/tutorial-writing-tasks.html Mon Dec 13 18:34:00 2010
    @@ -18,6 +18,7 @@
    <head>
    <title>Tutorial: Writing Tasks</title>
    <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
    + </link>
    </head>
    <body>
    <h1>Tutorial: Writing Tasks</h1>
    @@ -25,28 +26,30 @@
    <p>This document provides a step by step tutorial for writing
    tasks.</p>
    <h2>Content</h2>
    -<p><ul>
    +<ul>
    <li><a href="#buildenvironment">Set up the build environment</a></li>
    <li><a href="#write1">Write the Task</a></li>
    <li><a href="#use1">Use the Task</a></li>
    <li><a href="#TaskAdapter">Integration with TaskAdapter</a></li>
    -<li><a href="#derivingFromTask">Deriving from Ant's Task</a></li>
    +<li><a href="#derivingFromTask">Deriving from Apache Ant's Task</a></li>
    +<li><a href="#accessTaskProject">Accessing the Task's Project</a></li>
    <li><a href="#attributes">Attributes</a></li>
    <li><a href="#NestedText">Nested Text</a></li>
    <li><a href="#NestedElements">Nested Elements</a></li>
    <li><a href="#complex">Our task in a little more complex version</a></li>
    <li><a href="#TestingTasks">Test the Task</a></li>
    +<li><a href="#Debugging">Debugging</a></li>
    <li><a href="#resources">Resources</a></li>
    -</ul></p>
    +</ul>

    <a name="buildenvironment"></a>
    <h2>Set up the build environment</h2>
    -<p>Ant builds itself, we are using Ant too (why we would write
    -a task if not? :-) therefore we should use Ant for our build.<p>
    +<p>Apache Ant builds itself, we are using Ant too (why we would write
    +a task if not? :-) therefore we should use Ant for our build.</p>
    <p>We choose a directory as root directory. All things will be done
    here if I say nothing different. I will reference this directory
    as <i>root-directory</i> of our project. In this root-directory we
    -create a text file names <i>build.xml</i>. What should Ant do for us?
    +create a text file names <i>build.xml</i>. What should Ant do for us?</p>
    <ul>
    <li>compiles my stuff</li>
    <li>make the jar, so that I can deploy it</li>
    @@ -127,8 +130,8 @@ its <i>depends</i>-clause the "compile"
    <h2>Use the Task</h2>
    <p>But after creating the jar we want to use our new Task. Therefore we need a
    new target "use". Before we can use our new task we have to declare it with
    -<a href="http://ant.apache.org/manual/CoreTasks/taskdef.html" target="_blank">
    -<code>&lt;taskdef&gt;</code> [2]</a>. And for easier process we change the default clause:
    +<a href="http://ant.apache.org/manual/Tasks/taskdef.html" target="_blank">
    +<code>&lt;taskdef&gt;</code> [2]</a>. And for easier process we change the default clause:</p>
    <pre class="code">
    &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
    &lt;project name="MyTask" basedir="." default="<b>use</b>"&gt;
    @@ -143,10 +146,10 @@ new target "use". Before we can use our
    &lt;/project&gt;
    </pre>

    -Important is the <i>classpath</i>-attribute. Ant searches in its /lib directory for
    +<p>Important is the <i>classpath</i>-attribute. Ant searches in its /lib directory for
    tasks and our task isn't there. So we have to provide the right location. </p>

    -<p>Now we can type in <tt>ant</tt> and all should work ...
    +<p>Now we can type in <tt>ant</tt> and all should work ...</p>
    <pre class="output">
    Buildfile: build.xml

    @@ -176,7 +179,7 @@ setting a reference to the project and c

    <p><i>Setting a reference to the project</i>? Could be interesting. The Project class
    gives us some nice abilities: access to Ant's logging facilities getting and setting
    -properties and much more. So we try to use that class:
    +properties and much more. So we try to use that class:</p>
    <pre class="code">
    import org.apache.tools.ant.Project;

    @@ -198,7 +201,7 @@ and the execution with <tt>ant</tt> will
    <pre class="output">
    use:
    Here is project 'MyTask'.
    -</pre></p>
    +</pre>


    <a name="derivingFromTask"></a>
    @@ -208,7 +211,7 @@ That class is integrated in Ant, get's t
    fiels, provides easier access to the logging facility and (very useful) gives you
    the exact location where <i>in the buildfile</i> this task instance is used.</p>

    -<p>Oki-doki - let's us use some of these:
    +<p>Oki-doki - let's us use some of these:</p>
    <pre class="code">
    import org.apache.tools.ant.Task;

    @@ -225,15 +228,27 @@ public class HelloWorld extends Task {
    }
    }
    </pre>
    -which gives us when running
    +<p>which gives us when running</p>
    <pre class="output">
    use:
    [helloworld] Here is project 'MyTask'.
    [helloworld] I am used in: C:\tmp\anttests\MyFirstTask\build.xml:23:
    </pre>

    +<a name="accessTaskProject"></a>
    +<h2>Accessing the Task's Project</h2>
    +<p>The parent project of your custom task may be accessed through method <code>getProject()</code>. However, do not call this from the custom task constructor, as the return value will be null. Later, when node attributes or text are set, or method <code>execute()</code> is called, the Project object is available.</p>
    +<p>Here are two useful methods from class Project:</p>
    +<ul>
    + <li><code>String getProperty(String propertyName)</code></li>
    + <li>
    + <code>String replaceProperties(String value)</code>
    + </li>
    +</ul>
    +
    +<p>The method <code>replaceProperties()</code> is discussed further in section <a href="#NestedText">Nested Text</a>.</p>

    -<a name="attributes">
    +<a name="attributes"></a>
    <h2>Attributes</h2>
    <p>Now we want to specify the text of our message (it seems that we are
    rewriting the <code>&lt;echo/&gt;</code> task :-). First we well do that with an attribute.
    @@ -265,7 +280,7 @@ string provided there is written as buil
    the log() method can't handle a <i>null</i> value as parameter and throws a NullPointerException.
    (Of course you can initialize the <i>message</i> with a default string.)</p>

    -<p>After that we have to modify our buildfile:
    +<p>After that we have to modify our buildfile:</p>
    <pre class="code">
    &lt;target name="use" description="Use the Task" depends="jar"&gt;
    &lt;taskdef name="helloworld"
    @@ -274,17 +289,17 @@ the log() method can't handle a <i>null<
    &lt;helloworld <b>message="Hello World"</b>/&gt;
    &lt;/target&gt;
    </pre>
    -That's all.</p>
    +<p>That's all.</p>

    <p>Some background for working with attributes: Ant supports any of these datatypes as
    -arguments of the set-method:<ul>
    +arguments of the set-method:</p><ul>
    <li>elementary data type like <i>int</i>, <i>long</i>, ...</li>
    <li>its wrapper classes like <i>java.lang.Integer</i>, <i>java.lang.Long</i>, ...</li>
    <li><i>java.lang.String</i></li>
    <li>some more classes (e.g. <i>java.io.File</i>; see
    <a href="develop.html#set-magic">Manual
    'Writing Your Own Task' [3]</a>)</li>
    -<li>Any Java Object parsed from Ant 1.8's <a href="CoreTasks/propertyhelper.html">Property
    +<li>Any Java Object parsed from Ant 1.8's <a href="Tasks/propertyhelper.html">Property
    Helper</a></li>
    </ul>
    Before calling the set-method all properties are resolved. So a <tt>&lt;helloworld message="${msg}"/&gt;</tt>
    @@ -294,10 +309,11 @@ would not set the message string to "${m
    <a name="NestedText"></a>
    <h2>Nested Text</h2>
    <p>Maybe you have used the <code>&lt;echo&gt;</code> task in a way like <tt>&lt;echo&gt;Hello World&lt;/echo&gt;</tt>.
    -For that you have to provide a <tt>public void addText(String text)</tt> method.
    +For that you have to provide a <tt>public void addText(String text)</tt> method.</p>
    <pre class="code">
    ...
    public class HelloWorld extends Task {
    + private String message;
    ...
    public void addText(String text) {
    message = text;
    @@ -305,16 +321,22 @@ public class HelloWorld extends Task {
    ...
    }
    </pre>
    -But here properties are <b>not</b> resolved! For resolving properties we have to use
    +<p>But here properties are <b>not</b> resolved! For resolving properties we have to use
    Project's <tt>replaceProperties(String propname) : String</tt> method which takes the
    property name as argument and returns its value (or ${propname} if not set).</p>
    +<p>Thus, to replace properties in the nested node text, our method <code>addText()</code> can be written as:</p>
    +<pre class="code">
    + public void addText(String text) {
    + message = getProject().replaceProperties(text);
    + }
    +</pre>


    <a name="NestedElements"></a>
    <h2>Nested Elements</h2>
    <p>There are several ways for inserting the ability of handling nested elements. See
    the <a href="http://ant.apache.org/manual/develop.html#nested-elements">Manual [4]</a> for other.
    -We use the first way of the three described ways. There are several steps for that:<ol>
    +We use the first way of the three described ways. There are several steps for that:</p><ol>
    <li>We create a class for collecting all the info the nested element should contain.
    This class is created by the same rules for attributes and nested elements
    as for the task (<code>set&lt;attributename&gt;</code>() methods). </li>
    @@ -322,7 +344,7 @@ We use the first way of the three descri
    <li>A factory method instantiates an object, saves the reference in the list
    and returns it to Ant Core.</li>
    <li>The execute() method iterates over the list and evaluates its values.</li>
    -</ol></p>
    +</ol>
    <pre class="code">
    import java.util.Vector;
    import java.util.Iterator;
    @@ -356,7 +378,7 @@ import java.util.Iterator;
    <p>Then we can use the new nested element. But where is xml-name for that defined?
    The mapping XML-name : classname is defined in the factory method:
    <tt>public <i>classname</i> create<i>XML-name</i>()</tt>. Therefore we write in
    -the buildfile
    +the buildfile</p>
    <pre class="code">
    &lt;helloworld&gt;
    &lt;message msg="Nested Element 1"/&gt;
    @@ -364,11 +386,11 @@ the buildfile
    &lt;/helloworld&gt;
    </pre>
    <p>Note that if you choose to use methods 2 or 3, the class that represents the nested
    -element must be declared as <pre>static</pre></p>
    +element must be declared as <code>static</code></p>

    <a name="complex"></a>
    <h2>Our task in a little more complex version</h2>
    -<p>For recapitulation now a little refactored buildfile:
    +<p>For recapitulation now a little refactored buildfile:</p>
    <pre class="code">
    &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
    &lt;project name="MyTask" basedir="." default="use"&gt;
    @@ -593,7 +615,7 @@ target "test-jar" or you can download a
    http://gump.covalent.net/jars/latest/ant/ant-testutil.jar [5]</a>.</p>

    <p>For executing the test and creating a report we need the optional tasks <code>&lt;junit&gt;</code>
    -and <code>&lt;junitreport&gt;</code>. So we add to the buildfile:
    +and <code>&lt;junitreport&gt;</code>. So we add to the buildfile:</p>
    <pre class="code">
    ...
    <font color="#9F9F9F">&lt;project name="MyTask" basedir="." </font>default="test"<font color="#9F9F9F">&gt;</font>
    @@ -653,12 +675,12 @@ and <code>&lt;junitreport&gt;</code>. So
    description="Runs unit tests and creates a report"
    /&gt;
    ...
    -</pre></p>
    +</pre>

    <p>Back to the <i>src/HelloWorldTest.java</i>. We create a class extending
    <i>BuildFileTest</i> with String-constructor (JUnit-standard), a <i>setUp()</i>
    method initializing Ant and for each testcase (targets use.*) a <i>testXX()</i>
    -method invoking that target.
    +method invoking that target.</p>
    <pre class="code">
    import org.apache.tools.ant.BuildFileTest;

    @@ -700,10 +722,10 @@ public class HelloWorldTest extends Buil
    assertLogContaining("Nested Element 2");
    }
    }
    -</pre></p>
    +</pre>

    <p>When starting <tt>ant</tt> we'll get a short message to STDOUT and
    -a nice HTML-report.
    +a nice HTML-report.</p>
    <pre class="output">
    C:\tmp\anttests\MyFirstTask&gt;ant
    Buildfile: build.xml
    @@ -732,15 +754,30 @@ test:
    BUILD SUCCESSFUL
    Total time: 7 seconds
    C:\tmp\anttests\MyFirstTask&gt;
    -</pre></p>
    +</pre>
    +
    +
    +<a name="Debugging"></a>
    +<h2>Debugging</h2>
    +
    +<p>Try running Ant with the flag <code>-verbose</code>. For more information, try flag <code>-debug</code>.</p>
    +<p>For deeper issues, you may need to run the custom task code in a Java debugger. First, get the source for Ant and build it with debugging information.</p>
    +<p>Since Ant is a large project, it can be a little tricky to set the right breakpoints. Here are two important breakpoints for version 1.8:</p>
    +<ul>
    + <li>Initial <code>main()</code> function: <code>com.apache.tools.ant.launch.Launcher.main()</code></li>
    + <li>Task entry point: <code>com.apache.tools.ant.UnknownElement.execute()</code></li>
    +</ul>
    +
    +<p>If you need to debug when a task attribute or the text is set, begin by debugging into method <code>execute()</code> of your custom task. Then set breakpoints in other methods. This will ensure the class byte-code has been loaded by the Java VM.</p>
    +


    <a name="resources"></a>
    <h2>Resources</h2>
    <p>This tutorial and its resources are available via
    <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22570">BugZilla [6]</a>.
    -The ZIP provided there contains<ul>
    -<li>this tutorial</li>
    +The ZIP provided there contains</p><ul>
    +<li>this initial version of this tutorial</li>
    <li>the buildfile (last version)</li>
    <li>the source of the task (last version)</li>
    <li>the source of the unit test (last version)</li>
    @@ -749,21 +786,19 @@ The ZIP provided there contains<ul>
    <li>generated jar</li>
    <li>generated reports</li>
    </ul>
    -The last sources and the buildfile are also available
    +<p>The last sources and the buildfile are also available
    <a href="tutorial-writing-tasks-src.zip">here [7]</a> inside the manual.
    </p>

    -
    -Used Links:<br>
    -&nbsp;&nbsp;[1] <a href="http://ant.apache.org/manual/properties.html#built-in-props">http://ant.apache.org/manual/properties.html#built-in-props</a><br>
    -&nbsp;&nbsp;[2] <a href="http://ant.apache.org/manual/CoreTasks/taskdef.html">http://ant.apache.org/manual/CoreTasks/taskdef.html</a><br>
    -&nbsp;&nbsp;[3] <a href="http://ant.apache.org/manual/develop.html#set-magic">http://ant.apache.org/manual/develop.html#set-magic</a><br>
    -&nbsp;&nbsp;[4] <a href="http://ant.apache.org/manual/develop.html#nested-elements">http://ant.apache.org/manual/develop.html#nested-elements</a><br>
    -&nbsp;&nbsp;[5] <a href="http://gump.covalent.net/jars/latest/ant/ant-testutil.jar">http://gump.covalent.net/jars/latest/ant/ant-testutil.jar</a><br>
    -&nbsp;&nbsp;[6] <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22570">http://issues.apache.org/bugzilla/show_bug.cgi?id=22570</a><br>
    -&nbsp;&nbsp;[7] <a href="tutorial-writing-tasks-src.zip">tutorial-writing-tasks-src.zip</a><br>
    -
    -
    +<p>Used Links:<br></br>
    +&nbsp;&nbsp;[1] <a href="http://ant.apache.org/manual/properties.html#built-in-props">http://ant.apache.org/manual/properties.html#built-in-props</a><br></br>
    +&nbsp;&nbsp;[2] <a href="http://ant.apache.org/manual/Tasks/taskdef.html">http://ant.apache.org/manual/Tasks/taskdef.html</a><br></br>
    +&nbsp;&nbsp;[3] <a href="http://ant.apache.org/manual/develop.html#set-magic">http://ant.apache.org/manual/develop.html#set-magic</a><br></br>
    +&nbsp;&nbsp;[4] <a href="http://ant.apache.org/manual/develop.html#nested-elements">http://ant.apache.org/manual/develop.html#nested-elements</a><br></br>
    +&nbsp;&nbsp;[5] <a href="http://gump.covalent.net/jars/latest/ant/ant-testutil.jar">http://gump.covalent.net/jars/latest/ant/ant-testutil.jar</a><br></br>
    +&nbsp;&nbsp;[6] <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22570">http://issues.apache.org/bugzilla/show_bug.cgi?id=22570</a><br></br>
    +&nbsp;&nbsp;[7] <a href="tutorial-writing-tasks-src.zip">tutorial-writing-tasks-src.zip</a><br></br>
    +</p>

    </body>
    </html>

    Modified: ant/core/branches/ANT_SITE/docs/manual/tutorials.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/tutorials.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/tutorials.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/tutorials.html Mon Dec 13 18:34:00 2010
    @@ -29,7 +29,7 @@

    <h3>Tutorials</h3>

    -<p><a href="tutorial-HelloWorldWithAnt.html">Hello World with Ant</a><br/>
    +<p><a href="tutorial-HelloWorldWithAnt.html">Hello World with Apache Ant</a><br/>
    A step by step tutorial for starting java programming with Ant.</p>

    <p><a href="tutorial-writing-tasks.html">Writing Tasks</a><br/>

    Modified: ant/core/branches/ANT_SITE/docs/manual/using.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/using.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/using.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/using.html Mon Dec 13 18:34:00 2010
    @@ -23,9 +23,9 @@
    </head>

    <body>
    -<h1>Using Ant</h1>
    +<h1>Using Apache Ant</h1>
    <h2><a name="buildfile">Writing a Simple Buildfile</a></h2>
    -<p>Ant's buildfiles are written in XML. Each buildfile contains one project
    +<p>Apache Ant's buildfiles are written in XML. Each buildfile contains one project
    and at least one (default) target. Targets contain task elements.
    Each task element of the buildfile can have an <code>id</code> attribute and
    can later be referred to by the value supplied to this. The value has
    @@ -67,7 +67,7 @@ to be unique. (For additional informatio
    </table>
    <p>Optionally, a description for the project can be provided as a
    top-level <code>&lt;description&gt;</code> element (see the <a
    -href="CoreTypes/description.html">description</a> type).</p>
    +href="Types/description.html">description</a> type).</p>

    <p>Each project defines one or more <i>targets</i>.
    A target is a set of <i>tasks</i> you want
    @@ -101,9 +101,7 @@ resolved before the task is executed.</p
    <p>where <i>name</i> is the name of the task,
    <i>attributeN</i> is the attribute name, and
    <i>valueN</i> is the value for this attribute.</p>
    -<p>There is a set of <a href="coretasklist.html" target="navFrame">built-in tasks</a>, along with a
    -number of
    -<a href="optionaltasklist.html" target="navFrame"> optional tasks</a>, but it is also very
    +<p>There is a set of <a href="tasklist.html" target="navFrame">built-in tasks</a>, but it is also very
    easy to <a href="develop.html#writingowntask">write your own</a>.</p>
    <p>All tasks share a task name attribute. The value of
    this attribute will be used in the logging messages generated by
    @@ -146,7 +144,7 @@ task instances at all, only proxies.
    inside a build file.</p>

    <p>In its most simple form properties are defined in the build file
    - (for example by the <a href="CoreTasks/property.html">property</a>
    + (for example by the <a href="Tasks/property.html">property</a>
    task) or might be set outside Ant. A property has a name and a
    value; the name is case-sensitive. Properties may be used in the
    value of task attributes or in the nested text of tasks that support
    @@ -225,7 +223,7 @@ should be stored in a directory tree whi
    <p>A project can have a set of tokens that might be automatically expanded if
    found when a file is copied, when the filtering-copy behavior is selected in the
    tasks that support this. These might be set in the buildfile
    -by the <a href="CoreTasks/filter.html">filter</a> task.</p>
    +by the <a href="Tasks/filter.html">filter</a> task.</p>
    <p>Since this can potentially be a very harmful behavior,
    the tokens in the files <b>must</b>
    be of the form <code>@</code><i>token</i><code>@</code>, where
    @@ -264,6 +262,12 @@ or semicolon-separated lists of location
    attribute is intended to be used with predefined paths - in any other
    case, multiple elements with <code>location</code> attributes should be
    preferred.</p>
    +<p><em>Since Ant 1.8.2</em> the location attribute can also contain a
    + wildcard in its last path component (i.e. it can end in a
    + &quot;*&quot;) in order to support wildcard CLASSPATHs introduced
    + with Java6. Ant will not expand or evaluate the wildcards and the
    + resulting path may not work as anything else but a CLASSPATH - or
    + even as a CLASSPATH for a Java VM prior to Java6.</p>
    <p>As a shortcut, the <code>&lt;classpath&gt;</code> tag
    supports <code>path</code> and
    <code>location</code> attributes of its own, so:</p>
    @@ -277,14 +281,14 @@ supports <code>path</code> and
    &lt;classpath path=&quot;${classpath}&quot;/&gt;
    </pre>
    <p>In addition, one or more
    -<a href="CoreTypes/resources.html#collection">Resource Collection</a>s
    +<a href="Types/resources.html#collection">Resource Collection</a>s
    can be specified as nested elements (these must consist of
    -<a href="CoreTypes/resources.html#file">file</a>-type resources only).
    +<a href="Types/resources.html#file">file</a>-type resources only).
    Additionally, it should be noted that although resource collections are
    processed in the order encountered, certain resource collection types
    -such as <a href="CoreTypes/fileset.html">fileset</a>,
    -<a href="CoreTypes/dirset.html">dirset</a> and
    -<a href="CoreTypes/resources.html#files">files</a>
    +such as <a href="Types/fileset.html">fileset</a>,
    +<a href="Types/dirset.html">dirset</a> and
    +<a href="Types/resources.html#files">files</a>
    are undefined in terms of order.</p>
    <pre>
    &lt;classpath&gt;
    @@ -502,15 +506,15 @@ replicate the same snippet of XML over a
    &lt;/project&gt;
    </pre></blockquote>
    <p>All tasks that use nested elements for
    -<a href="CoreTypes/patternset.html">PatternSet</a>s,
    -<a href="CoreTypes/fileset.html">FileSet</a>s,
    -<a href="CoreTypes/zipfileset.html">ZipFileSet</a>s or
    +<a href="Types/patternset.html">PatternSet</a>s,
    +<a href="Types/fileset.html">FileSet</a>s,
    +<a href="Types/zipfileset.html">ZipFileSet</a>s or
    <a href="#path">path-like structures</a> accept references to these structures
    as shown in the examples. Using <code>refid</code> on a task will ordinarily
    have the same effect (referencing a task already declared), but the user
    should be aware that the interpretation of this attribute is dependent on the
    implementation of the element upon which it is specified. Some tasks (the
    -<a href="CoreTasks/property.html">property</a> task is a handy example)
    +<a href="Tasks/property.html">property</a> task is a handy example)
    deliberately assign a different meaning to <code>refid</code>.</p>


    @@ -532,7 +536,7 @@ for adding libraries:
    For the declaration there are several ways:
    <ul>
    <li>declare a single task per using instruction using
    - <code>&lt;<a href="CoreTasks/taskdef.html">taskdef</a> name=&quot;taskname&quot;
    + <code>&lt;<a href="Tasks/taskdef.html">taskdef</a> name=&quot;taskname&quot;
    classname=&quot;ImplementationClass&quot;/&gt;</code>
    <br>
    <code>&lt;taskdef name=&quot;for&quot; classname=&quot;net.sf.antcontrib.logic.For&quot; /&gt;
    @@ -544,14 +548,14 @@ For the declaration there are several wa
    <code>&lt;taskdef resource=&quot;net/sf/antcontrib/antcontrib.properties&quot; /&gt;
    &lt;for ... /&gt;</code>
    </li>
    - <li>declare a bundle of tasks using a <a href="CoreTypes/antlib.html">xml-file</a> holding these
    + <li>declare a bundle of tasks using a <a href="Types/antlib.html">xml-file</a> holding these
    taskname-ImplementationClass-pairs and <code>&lt;taskdef&gt;</code>
    <br>
    <code>&lt;taskdef resource=&quot;net/sf/antcontrib/antlib.xml&quot; /&gt;
    &lt;for ... /&gt;</code>
    </li>
    <li>declare a bundle of tasks using a xml-file named antlib.xml, XML-namespace and
    - <a href="CoreTypes/antlib.html#antlibnamespace"><code>antlib:</code> protocoll handler</a>
    + <a href="Types/antlib.html#antlibnamespace"><code>antlib:</code> protocoll handler</a>
    <br>
    <code>&lt;project xmlns:ac=&quot;antlib:net.sf.antconrib&quot;/&gt;
    &lt;ac:for ... /&gt;</code>

    Modified: ant/core/branches/ANT_SITE/docs/manual/usinglist.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/manual/usinglist.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/manual/usinglist.html (original)
    +++ ant/core/branches/ANT_SITE/docs/manual/usinglist.html Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,7 @@

    <h2><a href="toc.html" target="navFrame">Table of Contents</a></h2>

    -<h3>Using Ant</h3>
    +<h3>Using Apache Ant</h3>
    <ul class="inlinelist">
    <li><a href="using.html#buildfile">Writing a Simple Buildfile</a></li>
    <div style="padding-left:1em">

    Modified: ant/core/branches/ANT_SITE/docs/mission.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/mission.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/mission.html (original)
    +++ ant/core/branches/ANT_SITE/docs/mission.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - Apache Ant Mission</title>
    + <title>Apache Ant - Apache Ant&#x2122; Mission</title>
    <link type="text/css" href="./page.css" rel="stylesheet">
    <meta name="author" content="Apache Ant PMC">
    <meta name="email" content="">
    @@ -99,7 +99,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -139,6 +139,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -155,6 +158,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -165,9 +171,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -176,8 +179,8 @@
    <a href="./contributors.html">Contributors</a>
    </li>
    <li>
    - <span class="sel">Apache Ant Mission</span>
    - </li>
    + <a href="./mission.html">Apache Ant Mission</a>
    + </li>
    <li>
    <a href="./bylaws.html">Project Bylaws</a>
    </li>
    @@ -197,7 +200,7 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">Apache Ant Mission</h1>
    + <h1 class="title">Apache Ant&#x2122; Mission</h1>
    <h3 class="section">
    <a name="Board Resolution"></a>
    Board Resolution
    @@ -272,6 +275,7 @@ hereby created.
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->
  • Antoine at Dec 13, 2010 at 6:35 pm
    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java Mon Dec 13 18:34:00 2010
    @@ -50,6 +50,7 @@ public abstract class Mailer {
    // CheckStyle:VisibilityModifier ON
    private boolean ignoreInvalidRecipients = false;
    private boolean starttls = false;
    + private boolean portExplicitlySpecified = false;

    /**
    * Set the mail server.
    @@ -70,6 +71,22 @@ public abstract class Mailer {
    }

    /**
    + * Whether the port has been explicitly specified by the user.
    + * @since Ant 1.8.2
    + */
    + public void setPortExplicitlySpecified(boolean explicit) {
    + portExplicitlySpecified = explicit;
    + }
    +
    + /**
    + * Whether the port has been explicitly specified by the user.
    + * @since Ant 1.8.2
    + */
    + protected boolean isPortExplicitlySpecified() {
    + return portExplicitlySpecified;
    + }
    +
    + /**
    * Set the user for smtp auth.
    *
    * @param user the username.

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Message.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Message.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Message.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/Message.java Mon Dec 13 18:34:00 2010
    @@ -26,7 +26,6 @@ import java.io.OutputStreamWriter;
    import java.io.PrintStream;

    import org.apache.tools.ant.ProjectComponent;
    -import org.apache.tools.ant.util.FileUtils;

    /**
    * Class representing an email message.

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java Mon Dec 13 18:34:00 2010
    @@ -157,6 +157,10 @@ public class MimeMailer extends Mailer {
    // SMTP provider
    props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
    props.put("mail.smtp.socketFactory.fallback", "false");
    + if (isPortExplicitlySpecified()) {
    + props.put("mail.smtp.socketFactory.port",
    + String.valueOf(port));
    + }
    }
    if (user != null || password != null) {
    props.put("mail.smtp.auth", "true");

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java Mon Dec 13 18:34:00 2010
    @@ -31,7 +31,6 @@ import java.io.Reader;
    import java.io.Writer;
    import java.util.Iterator;
    import org.apache.tools.ant.BuildException;
    -import org.apache.tools.ant.DirectoryScanner;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.Task;
    import org.apache.tools.ant.types.FileSet;
    @@ -43,6 +42,7 @@ import org.apache.tools.ant.types.resour
    import org.apache.tools.ant.types.resources.Union;
    import org.apache.tools.ant.util.FileUtils;
    import org.apache.tools.ant.util.regexp.Regexp;
    +import org.apache.tools.ant.util.regexp.RegexpUtil;

    /**
    * Performs regular expression string replacements in a text
    @@ -513,23 +513,7 @@ public class ReplaceRegExp extends Task
    + "time.");
    }

    - int options = 0;
    -
    - if (flags.indexOf('g') != -1) {
    - options |= Regexp.REPLACE_ALL;
    - }
    -
    - if (flags.indexOf('i') != -1) {
    - options |= Regexp.MATCH_CASE_INSENSITIVE;
    - }
    -
    - if (flags.indexOf('m') != -1) {
    - options |= Regexp.MATCH_MULTILINE;
    - }
    -
    - if (flags.indexOf('s') != -1) {
    - options |= Regexp.MATCH_SINGLELINE;
    - }
    + int options = RegexpUtil.asOptions(flags);

    if (file != null && file.exists()) {
    try {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java Mon Dec 13 18:34:00 2010
    @@ -24,6 +24,7 @@ import java.io.IOException;
    import java.io.OutputStream;
    import java.io.PrintStream;
    import java.util.Enumeration;
    +import java.util.Map;
    import java.util.Vector;
    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.Project;
    @@ -44,10 +45,9 @@ import org.apache.tools.ant.types.Path;
    */
    public class Rpm extends Task {

    - private static final String PATH1 = "PATH=";
    - private static final String PATH2 = "Path=";
    - private static final String PATH3 = "path=";
    - private static final int PATH_LEN = PATH1.length();
    + private static final String PATH1 = "PATH";
    + private static final String PATH2 = "Path";
    + private static final String PATH3 = "path";

    /**
    * the spec file
    @@ -317,13 +317,12 @@ public class Rpm extends Task {
    * @since 1.6
    */
    protected String guessRpmBuildCommand() {
    - Vector env = Execute.getProcEnvironment();
    - String path = null;
    - for (Enumeration e = env.elements(); e.hasMoreElements();) {
    - String var = (String) e.nextElement();
    - if (var.startsWith(PATH1) || var.startsWith(PATH2) || var.startsWith(PATH3)) {
    - path = var.substring(PATH_LEN);
    - break;
    + Map/*<String, String>*/ env = Execute.getEnvironmentVariables();
    + String path = (String) env.get(PATH1);
    + if (path == null) {
    + path = (String) env.get(PATH2);
    + if (path == null) {
    + path = (String) env.get(PATH3);
    }
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java Mon Dec 13 18:34:00 2010
    @@ -42,6 +42,8 @@ public class JavahAdapterFactory {
    public static String getDefault() {
    if (JavaEnvUtils.isKaffe()) {
    return Kaffeh.IMPLEMENTATION_NAME;
    + } else if (JavaEnvUtils.isGij()) {
    + return Gcjh.IMPLEMENTATION_NAME;
    }
    return SunJavah.IMPLEMENTATION_NAME;
    }
    @@ -82,6 +84,9 @@ public class JavahAdapterFactory {
    if ((JavaEnvUtils.isKaffe() && choice == null)
    Kaffeh.IMPLEMENTATION_NAME.equals(choice)) {
    return new Kaffeh();
    + } else if ((JavaEnvUtils.isGij() && choice == null)
    + || Gcjh.IMPLEMENTATION_NAME.equals(choice)) {
    + return new Gcjh();
    } else if (SunJavah.IMPLEMENTATION_NAME.equals(choice)) {
    return new SunJavah();
    } else if (choice != null) {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTask.java Mon Dec 13 18:34:00 2010
    @@ -24,8 +24,8 @@ import java.io.IOException;
    import java.io.PrintWriter;
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Method;
    +import java.util.Map;
    import java.util.Vector;
    -import java.util.Enumeration;
    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.Task;
    @@ -593,16 +593,11 @@ public class JDependTask extends Task {
    }

    if (includeRuntime) {
    - Vector v = Execute.getProcEnvironment();
    - Enumeration e = v.elements();
    - while (e.hasMoreElements()) {
    - String s = (String) e.nextElement();
    - if (s.startsWith("CLASSPATH=")) {
    - commandline.createClasspath(getProject()).createPath()
    - .append(new Path(getProject(),
    - s.substring("CLASSPATH=".length()
    - )));
    - }
    + Map/*<String, String>*/ env = Execute.getEnvironmentVariables();
    + String cp = (String) env.get("CLASSPATH");
    + if (cp != null) {
    + commandline.createClasspath(getProject()).createPath()
    + .append(new Path(getProject(), cp));
    }
    log("Implicitly adding " + runtimeClasses + " to CLASSPATH",
    Project.MSG_VERBOSE);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/Constants.java Mon Dec 13 18:34:00 2010
    @@ -23,6 +23,7 @@ package org.apache.tools.ant.taskdefs.op
    */
    public class Constants {

    + static final String METHOD_NAMES = "methods=";
    static final String HALT_ON_ERROR = "haltOnError=";
    static final String HALT_ON_FAILURE = "haltOnFailure=";
    static final String FILTERTRACE = "filtertrace=";

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java Mon Dec 13 18:34:00 2010
    @@ -249,7 +249,9 @@ public class FailureRecorder extends Pro
    File sourceFile = new File((getLocationName() + ".java"));
    verbose("Write collector class to '" + sourceFile.getAbsolutePath() + "'");

    - sourceFile.delete();
    + if (sourceFile.exists() && !sourceFile.delete()) {
    + throw new IOException("could not delete " + sourceFile);
    + }
    writer = new BufferedWriter(new FileWriter(sourceFile));

    createClassHeader();
    @@ -334,13 +336,13 @@ public class FailureRecorder extends Pro
    /**
    * TestInfos holds information about a given test for later use.
    */
    - public class TestInfos implements Comparable {
    + public static class TestInfos implements Comparable {

    /** The class name of the test. */
    - private String className;
    + private final String className;

    /** The method name of the testcase. */
    - private String methodName;
    + private final String methodName;

    /**
    * This constructor extracts the needed information from the given test.
    @@ -348,8 +350,8 @@ public class FailureRecorder extends Pro
    */
    public TestInfos(Test test) {
    className = test.getClass().getName();
    - methodName = test.toString();
    - methodName = methodName.substring(0, methodName.indexOf('('));
    + String _methodName = test.toString();
    + methodName = _methodName.substring(0, _methodName.indexOf('('));
    }

    /**
    @@ -378,6 +380,12 @@ public class FailureRecorder extends Pro
    return -1;
    }
    }
    + public boolean equals(Object obj) {
    + return obj instanceof TestInfos && toString().equals(obj.toString());
    + }
    + public int hashCode() {
    + return toString().hashCode();
    + }
    }

    // ===== BuildListener =====

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java Mon Dec 13 18:34:00 2010
    @@ -23,6 +23,7 @@ import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.io.BufferedOutputStream;
    import java.lang.reflect.Field;
    +import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;

    import org.apache.tools.ant.BuildException;
    @@ -326,8 +327,10 @@ public class FormatterElement {
    // there is already a project reference so dont overwrite this
    needToSetProjectReference = false;
    }
    - } catch (Exception e) {
    + } catch (NoSuchFieldException e) {
    // no field present, so no previous reference exists
    + } catch (IllegalAccessException e) {
    + throw new BuildException(e);
    }

    if (needToSetProjectReference) {
    @@ -335,8 +338,12 @@ public class FormatterElement {
    try {
    setter = r.getClass().getMethod("setProject", new Class[] {Project.class});
    setter.invoke(r, new Object[] {project});
    - } catch (Exception e) {
    + } catch (NoSuchMethodException e) {
    // no setProject to invoke; just ignore
    + } catch (IllegalAccessException e) {
    + throw new BuildException(e);
    + } catch (InvocationTargetException e) {
    + throw new BuildException(e);
    }
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java Mon Dec 13 18:34:00 2010
    @@ -29,6 +29,8 @@ import java.io.OutputStream;
    import java.io.PrintStream;
    import java.lang.reflect.Constructor;
    import java.net.URL;
    +import java.security.AccessController;
    +import java.security.PrivilegedAction;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Enumeration;
    @@ -130,7 +132,7 @@ public class JUnitTask extends Task {

    private static final String LINE_SEP
    = System.getProperty("line.separator");
    - private static final String CLASSPATH = "CLASSPATH=";
    + private static final String CLASSPATH = "CLASSPATH";
    private CommandlineJava commandline;
    private Vector tests = new Vector();
    private Vector batchTests = new Vector();
    @@ -163,6 +165,7 @@ public class JUnitTask extends Task {
    private ForkMode forkMode = new ForkMode("perTest");

    private boolean splitJunit = false;
    + private boolean enableTestListenerEvents = false;
    private JUnitTaskMirror delegate;
    private ClassLoader mirrorLoader;

    @@ -184,6 +187,12 @@ public class JUnitTask extends Task {
    public static final String TESTLISTENER_PREFIX =
    "junit.framework.TestListener: ";

    + /**
    + * Name of magic property that enables test listener events.
    + */
    + public static final String ENABLE_TESTLISTENER_EVENTS =
    + "ant.junit.enabletestlistenerevents";
    +
    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();

    /**
    @@ -652,8 +661,6 @@ public class JUnitTask extends Task {
    * @since Ant 1.2
    */
    public JUnitTask() throws Exception {
    - getCommandline()
    - .setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
    }

    /**
    @@ -673,6 +680,32 @@ public class JUnitTask extends Task {
    }

    /**
    + * Whether test listener events shall be generated.
    + *
    + * <p>Defaults to false.</p>
    + *
    + * <p>This value will be overridden by the magic property
    + * ant.junit.enabletestlistenerevents if it has been set.</p>
    + *
    + * @since Ant 1.8.2
    + */
    + public void setEnableTestListenerEvents(boolean b) {
    + enableTestListenerEvents = b;
    + }
    +
    + /**
    + * Whether test listener events shall be generated.
    + * @since Ant 1.8.2
    + */
    + public boolean getEnableTestListenerEvents() {
    + String e = getProject().getProperty(ENABLE_TESTLISTENER_EVENTS);
    + if (e != null) {
    + return Project.toBoolean(e);
    + }
    + return enableTestListenerEvents;
    + }
    +
    + /**
    * Adds the jars or directories containing Ant, this task and
    * JUnit to the classpath - this should make the forked JVM work
    * without having to specify them directly.
    @@ -716,18 +749,20 @@ public class JUnitTask extends Task {
    * @since Ant 1.7.1
    */
    protected void setupJUnitDelegate() {
    - ClassLoader myLoader = JUnitTask.class.getClassLoader();
    + final ClassLoader myLoader = JUnitTask.class.getClassLoader();
    if (splitJunit) {
    - Path path = new Path(getProject());
    + final Path path = new Path(getProject());
    path.add(antRuntimeClasses);
    Path extra = getCommandline().getClasspath();
    if (extra != null) {
    path.add(extra);
    }
    - mirrorLoader =
    - new SplitClassLoader(myLoader, path, getProject(),
    + mirrorLoader = (ClassLoader) AccessController.doPrivileged(new PrivilegedAction() {
    + public Object run() {
    + return new SplitClassLoader(myLoader, path, getProject(),
    new String[] {
    "BriefJUnitResultFormatter",
    + "JUnit4TestMethodAdapter",
    "JUnitResultFormatter",
    "JUnitTaskMirrorImpl",
    "JUnitTestRunner",
    @@ -738,6 +773,8 @@ public class JUnitTask extends Task {
    "TearDownOnVmCrash",
    "XMLJUnitResultFormatter",
    });
    + }
    + });
    } else {
    mirrorLoader = myLoader;
    }
    @@ -751,6 +788,8 @@ public class JUnitTask extends Task {
    * @since Ant 1.2
    */
    public void execute() throws BuildException {
    + checkMethodLists();
    +
    setupJUnitDelegate();

    List testLists = new ArrayList();
    @@ -851,6 +890,9 @@ public class JUnitTask extends Task {
    while (iter.hasNext()) {
    test = (JUnitTest) iter.next();
    printDual(writer, logWriter, test.getName());
    + if (test.getMethods() != null) {
    + printDual(writer, logWriter, ":" + test.getMethodsString().replace(',', '+'));
    + }
    if (test.getTodir() == null) {
    printDual(writer, logWriter,
    "," + getProject().resolveFile("."));
    @@ -878,10 +920,10 @@ public class JUnitTask extends Task {
    log(e.toString(), Project.MSG_ERR);
    throw new BuildException(e);
    } finally {
    - FILE_UTILS.close(writer);
    + FileUtils.close(writer);

    try {
    - casesFile.delete();
    + FILE_UTILS.tryHardToDelete(casesFile);
    } catch (Exception e) {
    log(e.toString(), Project.MSG_ERR);
    }
    @@ -919,9 +961,11 @@ public class JUnitTask extends Task {
    } catch (CloneNotSupportedException e) {
    throw new BuildException("This shouldn't happen", e, getLocation());
    }
    - cmd.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
    if (casesFile == null) {
    cmd.createArgument().setValue(test.getName());
    + if (test.getMethods() != null) {
    + cmd.createArgument().setValue(Constants.METHOD_NAMES + test.getMethodsString());
    + }
    } else {
    log("Running multiple tests in the same VM", Project.MSG_VERBOSE);
    cmd.createArgument().setValue(Constants.TESTSFILE + casesFile);
    @@ -942,8 +986,9 @@ public class JUnitTask extends Task {
    cmd.createArgument().setValue(Constants.LOG_FAILED_TESTS
    + String.valueOf(logFailedTests));

    - cmd.createArgument().setValue(
    - Constants.LOGTESTLISTENEREVENTS + "true"); // #31885
    + // #31885
    + cmd.createArgument().setValue(Constants.LOGTESTLISTENEREVENTS
    + + String.valueOf(getEnableTestListenerEvents()));

    StringBuffer formatterArg = new StringBuffer(STRING_BUFFER_SIZE);
    final FormatterElement[] feArray = mergeFormatters(test);
    @@ -979,7 +1024,7 @@ public class JUnitTask extends Task {
    props.store(outstream, "Ant JUnitTask generated properties file");
    outstream.close();
    } catch (java.io.IOException e) {
    - propsFile.delete();
    + FILE_UTILS.tryHardToDelete(propsFile);
    throw new BuildException("Error creating temporary properties "
    + "file.", e, getLocation());
    }
    @@ -1034,7 +1079,7 @@ public class JUnitTask extends Task {
    } finally {
    FileUtils.close(br);
    if (vmWatcher.exists()) {
    - vmWatcher.delete();
    + FILE_UTILS.tryHardToDelete(vmWatcher);
    }
    }

    @@ -1053,9 +1098,10 @@ public class JUnitTask extends Task {
    logVmCrash(feArray, test, vmCrashString);
    }

    - if (!propsFile.delete()) {
    + if (!FILE_UTILS.tryHardToDelete(propsFile)) {
    throw new BuildException("Could not delete temporary "
    - + "properties file.");
    + + "properties file '"
    + + propsFile.getAbsolutePath() + "'.");
    }
    }

    @@ -1068,16 +1114,11 @@ public class JUnitTask extends Task {
    */
    private void checkIncludeAntRuntime(CommandlineJava cmd) {
    if (includeAntRuntime) {
    - Vector v = Execute.getProcEnvironment();
    - Enumeration e = v.elements();
    - while (e.hasMoreElements()) {
    - String s = (String) e.nextElement();
    - if (s.startsWith(CLASSPATH)) {
    - cmd.createClasspath(getProject()).createPath()
    - .append(new Path(getProject(),
    - s.substring(CLASSPATH.length()
    - )));
    - }
    + Map/*<String, String>*/ env = Execute.getEnvironmentVariables();
    + String cp = (String) env.get(CLASSPATH);
    + if (cp != null) {
    + cmd.createClasspath(getProject()).createPath()
    + .append(new Path(getProject(), cp));
    }
    log("Implicitly adding " + antRuntimeClasses + " to CLASSPATH",
    Project.MSG_VERBOSE);
    @@ -1135,7 +1176,7 @@ public class JUnitTask extends Task {
    for (Enumeration e = loader.getResources(projectResourceName);
    e.hasMoreElements();) {
    URL current = (URL) e.nextElement();
    - if (previous != null && !current.equals(previous)) {
    + if (previous != null && !urlEquals(current, previous)) {
    log("WARNING: multiple versions of ant detected "
    + "in path for junit "
    + LINE_SEP + " " + previous
    @@ -1156,6 +1197,30 @@ public class JUnitTask extends Task {
    }

    /**
    + * Compares URLs for equality but takes case-sensitivity into
    + * account when comparing file URLs and ignores the jar specific
    + * part of the URL if present.
    + */
    + private static boolean urlEquals(URL u1, URL u2) {
    + String url1 = maybeStripJarAndClass(u1);
    + String url2 = maybeStripJarAndClass(u2);
    + if (url1.startsWith("file:") && url2.startsWith("file:")) {
    + return new File(FILE_UTILS.fromURI(url1))
    + .equals(new File(FILE_UTILS.fromURI(url2)));
    + }
    + return url1.equals(url2);
    + }
    +
    + private static String maybeStripJarAndClass(URL u) {
    + String s = u.toString();
    + if (s.startsWith("jar:")) {
    + int pling = s.indexOf('!');
    + s = s.substring(4, pling == -1 ? s.length() : pling);
    + }
    + return s;
    + }
    +
    + /**
    * Create a temporary file to pass the properties to a new process.
    * Will auto-delete on (graceful) exit.
    * The file will be in the project basedir unless tmpDir declares
    @@ -1173,7 +1238,7 @@ public class JUnitTask extends Task {

    /**
    * Pass output sent to System.out to the TestRunner so it can
    - * collect ot for the formatters.
    + * collect it for the formatters.
    *
    * @param output output coming from System.out
    * @since Ant 1.5
    @@ -1321,10 +1386,11 @@ public class JUnitTask extends Task {
    if (classLoader != null) {
    classLoader.setThreadContextLoader();
    }
    - runner = delegate.newJUnitTestRunner(test, test.getHaltonerror(),
    + runner = delegate.newJUnitTestRunner(test, test.getMethods(), test.getHaltonerror(),
    test.getFiltertrace(),
    test.getHaltonfailure(), false,
    - true, classLoader);
    + getEnableTestListenerEvents(),
    + classLoader);
    if (summary) {

    JUnitTaskMirror.SummaryJUnitResultFormatterMirror f =
    @@ -1407,6 +1473,29 @@ public class JUnitTask extends Task {
    }

    /**
    + * Verifies all <code>test</code> elements having the <code>methods</code>
    + * attribute specified and having the <code>if</code>-condition resolved
    + * to true, that the value of the <code>methods</code> attribute is valid.
    + * @exception BuildException if some of the tests matching the described
    + * conditions has invalid value of the
    + * <code>methods</code> attribute
    + * @since 1.8.2
    + */
    + private void checkMethodLists() throws BuildException {
    + if (tests.isEmpty()) {
    + return;
    + }
    +
    + Enumeration testsEnum = tests.elements();
    + while (testsEnum.hasMoreElements()) {
    + JUnitTest test = (JUnitTest) testsEnum.nextElement();
    + if (test.hasMethodsSpecified() && test.shouldRun(getProject())) {
    + test.resolveMethods();
    + }
    + }
    + }
    +
    + /**
    * return an enumeration listing each test, then each batchtest
    * @return enumeration
    * @since Ant 1.3
    @@ -1666,6 +1755,7 @@ public class JUnitTask extends Task {
    protected CommandlineJava getCommandline() {
    if (commandline == null) {
    commandline = new CommandlineJava();
    + commandline.setClassname("org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner");
    }
    return commandline;
    }
    @@ -1883,7 +1973,7 @@ public class JUnitTask extends Task {
    /**
    * A value class that contains the result of a test.
    */
    - protected class TestResultHolder {
    + protected static class TestResultHolder {
    // CheckStyle:VisibilityModifier OFF - bc
    /** the exit code of the test. */
    public int exitCode = JUnitTaskMirror.JUnitTestRunnerMirror.ERRORS;
    @@ -1962,7 +2052,7 @@ public class JUnitTask extends Task {
    */
    private static JUnitTest createDummyTestForBatchTest(JUnitTest test) {
    JUnitTest t = (JUnitTest) test.clone();
    - int index = test.getName().indexOf(".");
    + int index = test.getName().lastIndexOf('.');
    // make sure test looks as if it was in the same "package" as
    // the last test of the batch
    String pack = index > 0 ? test.getName().substring(0, index + 1) : "";

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirror.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirror.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirror.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirror.java Mon Dec 13 18:34:00 2010
    @@ -55,6 +55,7 @@ public interface JUnitTaskMirror {
    /**
    * Create a new test runner for a test.
    * @param test the test to run.
    + * @param methods names of the test methods to be run.
    * @param haltOnError if true halt the tests if an error occurs.
    * @param filterTrace if true filter the stack traces.
    * @param haltOnFailure if true halt the test if a failure occurs.
    @@ -63,7 +64,7 @@ public interface JUnitTaskMirror {
    * @param classLoader the classloader to use to create the runner.
    * @return the test runner.
    */
    - JUnitTestRunnerMirror newJUnitTestRunner(JUnitTest test, boolean haltOnError,
    + JUnitTestRunnerMirror newJUnitTestRunner(JUnitTest test, String[] methods, boolean haltOnError,
    boolean filterTrace, boolean haltOnFailure, boolean showOutput,
    boolean logTestListenerEvents, AntClassLoader classLoader);


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java Mon Dec 13 18:34:00 2010
    @@ -60,9 +60,10 @@ public final class JUnitTaskMirrorImpl i

    /** {@inheritDoc}. */
    public JUnitTaskMirror.JUnitTestRunnerMirror newJUnitTestRunner(JUnitTest test,
    + String[] methods,
    boolean haltOnError, boolean filterTrace, boolean haltOnFailure,
    boolean showOutput, boolean logTestListenerEvents, AntClassLoader classLoader) {
    - return new JUnitTestRunner(test, haltOnError, filterTrace, haltOnFailure,
    + return new JUnitTestRunner(test, methods, haltOnError, filterTrace, haltOnFailure,
    showOutput, logTestListenerEvents, classLoader);
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java Mon Dec 13 18:34:00 2010
    @@ -22,6 +22,7 @@ import java.util.Enumeration;
    import java.util.Hashtable;
    import java.util.Properties;
    import java.util.Vector;
    +import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.PropertyHelper;

    @@ -41,6 +42,19 @@ public class JUnitTest extends BaseTest
    /** the name of the test case */
    private String name = null;

    + /**
    + * whether the list of test methods has been specified
    + * @see #setMethods(java.lang.String)
    + * @see #setMethods(java.lang.String[])
    + */
    + private boolean methodsSpecified = false;
    +
    + /** comma-separated list of names of test methods to execute */
    + private String methodsList = null;
    +
    + /** the names of test methods to execute */
    + private String[] methods = null;
    +
    /** the name of the result file */
    private String outfile = null;

    @@ -73,11 +87,52 @@ public class JUnitTest extends BaseTest
    * @param filtertrace if true filter stack traces.
    */
    public JUnitTest(String name, boolean haltOnError, boolean haltOnFailure,
    - boolean filtertrace) {
    + boolean filtertrace) {
    + this(name, haltOnError, haltOnFailure, filtertrace, null);
    + }
    +
    + /**
    + * Constructor with options.
    + * @param name the name of the test.
    + * @param haltOnError if true halt the tests if there is an error.
    + * @param haltOnFailure if true halt the tests if there is a failure.
    + * @param filtertrace if true filter stack traces.
    + * @param methods if non-null run only these test methods
    + * @since 1.8.2
    + */
    + public JUnitTest(String name, boolean haltOnError, boolean haltOnFailure,
    + boolean filtertrace, String[] methods) {
    this.name = name;
    this.haltOnError = haltOnError;
    this.haltOnFail = haltOnFailure;
    this.filtertrace = filtertrace;
    + this.methodsSpecified = methods != null;
    + this.methods = methodsSpecified ? (String[]) methods.clone() : null;
    + }
    +
    + /**
    + * Sets names of individual test methods to be executed.
    + * @param value comma-separated list of names of individual test methods
    + * to be executed,
    + * or <code>null</code> if all test methods should be executed
    + * @since 1.8.2
    + */
    + public void setMethods(String value) {
    + methodsList = value;
    + methodsSpecified = (value != null);
    + methods = null;
    + }
    +
    + /**
    + * Sets names of individual test methods to be executed.
    + * @param value non-empty array of names of test methods to be executed
    + * @see #setMethods(String)
    + * @since 1.8.2
    + */
    + void setMethods(String[] value) {
    + methods = value;
    + methodsSpecified = (value != null);
    + methodsList = null;
    }

    /**
    @@ -97,6 +152,189 @@ public class JUnitTest extends BaseTest
    }

    /**
    + * Informs whether a list of test methods has been specified in this test.
    + * @return <code>true</code> if test methods to be executed have been
    + * specified, <code>false</code> otherwise
    + * @see #setMethods(java.lang.String)
    + * @see #setMethods(java.lang.String[])
    + * @since 1.8.2
    + */
    + boolean hasMethodsSpecified() {
    + return methodsSpecified;
    + }
    +
    + /**
    + * Get names of individual test methods to be executed.
    + *
    + * @return array of names of the individual test methods to be executed,
    + * or <code>null</code> if all test methods in the suite
    + * defined by the test class will be executed
    + * @since 1.8.2
    + */
    + String[] getMethods() {
    + if (methodsSpecified && (methods == null)) {
    + resolveMethods();
    + }
    + return methods;
    + }
    +
    + /**
    + * Gets a comma-separated list of names of methods that are to be executed
    + * by this test.
    + * @return the comma-separated list of test method names, or an empty
    + * string of no method is to be executed, or <code>null</code>
    + * if no method is specified
    + * @since 1.8.2
    + */
    + String getMethodsString() {
    + if ((methodsList == null) && methodsSpecified) {
    + if (methods.length == 0) {
    + methodsList = "";
    + } else if (methods.length == 1) {
    + methodsList = methods[0];
    + } else {
    + StringBuffer buf = new StringBuffer(methods.length * 16);
    + buf.append(methods[0]);
    + for (int i = 1; i < methods.length; i++) {
    + buf.append(',').append(methods[i]);
    + }
    + methodsList = buf.toString();
    + }
    + }
    + return methodsList;
    + }
    +
    + /**
    + * Computes the value of the {@link #methods} field from the value
    + * of the {@link #methodsList} field, if it has not been computed yet.
    + * @exception BuildException if the value of the {@link #methodsList} field
    + * was invalid
    + * @since 1.8.2
    + */
    + void resolveMethods() {
    + if ((methods == null) && methodsSpecified) {
    + try {
    + methods = parseTestMethodNamesList(methodsList);
    + } catch (IllegalArgumentException ex) {
    + throw new BuildException(
    + "Invalid specification of test methods: \""
    + + methodsList
    + + "\"; expected: comma-separated list of valid Java identifiers",
    + ex);
    + }
    + }
    + }
    +
    + /**
    + * Parses a comma-separated list of method names and check their validity.
    + * @param methodNames comma-separated list of method names to be parsed
    + * @return array of individual test method names
    + * @exception java.lang.IllegalArgumentException
    + * if the given string is <code>null</code> or if it is not
    + * a comma-separated list of valid Java identifiers;
    + * an empty string is acceptable and is handled as an empty
    + * list
    + * @since 1.8.2
    + */
    + public static String[] parseTestMethodNamesList(String methodNames)
    + throws IllegalArgumentException {
    + if (methodNames == null) {
    + throw new IllegalArgumentException("methodNames is <null>");
    + }
    +
    + methodNames = methodNames.trim();
    +
    + int length = methodNames.length();
    + if (length == 0) {
    + return new String[0];
    + }
    +
    + /* strip the trailing comma, if any */
    + if (methodNames.charAt(length - 1) == ',') {
    + methodNames = methodNames.substring(0, length - 1).trim();
    + length = methodNames.length();
    + if (length == 0) {
    + throw new IllegalArgumentException("Empty method name");
    + }
    + }
    +
    + final char[] chars = methodNames.toCharArray();
    + /* easy detection of one particular case of illegal string: */
    + if (chars[0] == ',') {
    + throw new IllegalArgumentException("Empty method name");
    + }
    + /* count number of method names: */
    + int wordCount = 1;
    + for (int i = 1; i < chars.length; i++) {
    + if (chars[i] == ',') {
    + wordCount++;
    + }
    + }
    + /* prepare the resulting array: */
    + String[] result = new String[wordCount];
    + /* parse the string: */
    + final int stateBeforeWord = 1;
    + final int stateInsideWord = 2;
    + final int stateAfterWord = 3;
    + //
    + int state = stateBeforeWord;
    + int wordStartIndex = -1;
    + int wordIndex = 0;
    + for (int i = 0; i < chars.length; i++) {
    + char c = chars[i];
    + switch (state) {
    + case stateBeforeWord:
    + if (c == ',') {
    + throw new IllegalArgumentException("Empty method name");
    + } else if (c == ' ') {
    + // remain in the same state
    + } else if (Character.isJavaIdentifierStart(c)) {
    + wordStartIndex = i;
    + state = stateInsideWord;
    + } else {
    + throw new IllegalArgumentException("Illegal start of method name: " + c);
    + }
    + break;
    + case stateInsideWord:
    + if (c == ',') {
    + result[wordIndex++] = methodNames.substring(wordStartIndex, i);
    + state = stateBeforeWord;
    + } else if (c == ' ') {
    + result[wordIndex++] = methodNames.substring(wordStartIndex, i);
    + state = stateAfterWord;
    + } else if (Character.isJavaIdentifierPart(c)) {
    + // remain in the same state
    + } else {
    + throw new IllegalArgumentException("Illegal character in method name: " + c);
    + }
    + break;
    + case stateAfterWord:
    + if (c == ',') {
    + state = stateBeforeWord;
    + } else if (c == ' ') {
    + // remain in the same state
    + } else {
    + throw new IllegalArgumentException("Space in method name");
    + }
    + break;
    + default:
    + // this should never happen
    + }
    + }
    + switch (state) {
    + case stateBeforeWord:
    + case stateAfterWord:
    + break;
    + case stateInsideWord:
    + result[wordIndex++] = methodNames.substring(wordStartIndex, chars.length);
    + break;
    + default:
    + // this should never happen
    + }
    + return result;
    + }
    +
    + /**
    * Get the name of the test class.
    * @return the name of the test.
    */

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java Mon Dec 13 18:34:00 2010
    @@ -163,6 +163,9 @@ public class JUnitTestRunner implements
    */
    private static String crashFile = null;

    + /** Names of test methods to execute */
    + private String[] methods = null;
    +
    /**
    * Constructor for fork=true or when the user hasn't specified a
    * classpath.
    @@ -205,7 +208,26 @@ public class JUnitTestRunner implements
    public JUnitTestRunner(JUnitTest test, boolean haltOnError,
    boolean filtertrace, boolean haltOnFailure,
    boolean showOutput, boolean logTestListenerEvents) {
    - this(test, haltOnError, filtertrace, haltOnFailure, showOutput,
    + this(test, null, haltOnError, filtertrace, haltOnFailure, showOutput,
    + logTestListenerEvents, null);
    + }
    +
    + /**
    + * Constructor for fork=true or when the user hasn't specified a
    + * classpath.
    + * @param test the test to run.
    + * @param methods names of methods of the test to be executed.
    + * @param haltOnError whether to stop the run if an error is found.
    + * @param filtertrace whether to filter junit.*.* stack frames out of exceptions
    + * @param haltOnFailure whether to stop the run if failure is found.
    + * @param showOutput whether to send output to System.out/.err as well as formatters.
    + * @param logTestListenerEvents whether to print TestListener events.
    + * @since 1.8.2
    + */
    + public JUnitTestRunner(JUnitTest test, String[] methods, boolean haltOnError,
    + boolean filtertrace, boolean haltOnFailure,
    + boolean showOutput, boolean logTestListenerEvents) {
    + this(test, methods, haltOnError, filtertrace, haltOnFailure, showOutput,
    logTestListenerEvents, null);
    }

    @@ -254,12 +276,26 @@ public class JUnitTestRunner implements
    boolean filtertrace, boolean haltOnFailure,
    boolean showOutput, boolean logTestListenerEvents,
    ClassLoader loader) {
    - JUnitTestRunner.filtertrace = filtertrace;
    + this(test, null, haltOnError, filtertrace, haltOnFailure, showOutput,
    + logTestListenerEvents, loader);
    + }
    +
    +
    + /**
    + * Constructor to use when the user has specified a classpath.
    + * @since 1.8.2
    + */
    + public JUnitTestRunner(JUnitTest test, String[] methods, boolean haltOnError,
    + boolean filtertrace, boolean haltOnFailure,
    + boolean showOutput, boolean logTestListenerEvents,
    + ClassLoader loader) {
    + JUnitTestRunner.filtertrace = filtertrace; // XXX clumsy, should use instance field somehow
    this.junitTest = test;
    this.haltOnError = haltOnError;
    this.haltOnFailure = haltOnFailure;
    this.showOutput = showOutput;
    this.logTestListenerEvents = logTestListenerEvents;
    + this.methods = methods != null ? (String[]) methods.clone() : null;
    this.loader = loader;
    }

    @@ -340,9 +376,12 @@ public class JUnitTestRunner implements
    loader);
    }

    + final boolean testMethodsSpecified = (methods != null);
    +
    // check for a static suite method first, even when using
    // JUnit 4
    Method suiteMethod = null;
    + if (!testMethodsSpecified) {
    try {
    // check if there is a suite method
    suiteMethod = testClass.getMethod("suite", new Class[0]);
    @@ -350,6 +389,7 @@ public class JUnitTestRunner implements
    // no appropriate suite method found. We don't report any
    // error here since it might be perfectly normal.
    }
    + }

    if (suiteMethod != null) {
    // if there is a suite method available, then try
    @@ -359,7 +399,23 @@ public class JUnitTestRunner implements

    } else {
    Class junit4TestAdapterClass = null;
    + boolean useSingleMethodAdapter = false;

    + if (junit.framework.TestCase.class.isAssignableFrom(testClass)) {
    + // Do not use JUnit 4 API for running JUnit 3.x
    + // tests - it is not able to run individual test
    + // methods.
    + //
    + // Technical details:
    + // org.junit.runner.Request.method(Class, String).getRunner()
    + // would return a runner which always executes all
    + // test methods. The reason is that the Runner would be
    + // an instance of class
    + // org.junit.internal.runners.OldTestClassRunner
    + // that does not implement interface Filterable - so it
    + // is unable to filter out test methods not matching
    + // the requested name.
    + } else {
    // Check for JDK 5 first. Will *not* help on JDK 1.4
    // if only junit-4.0.jar in CP because in that case
    // linkage of whole task will already have failed! But
    @@ -373,29 +429,69 @@ public class JUnitTestRunner implements
    if (loader == null) {
    junit4TestAdapterClass =
    Class.forName(JUNIT_4_TEST_ADAPTER);
    + if (testMethodsSpecified) {
    + /*
    + * We cannot try to load the JUnit4TestAdapter
    + * before trying to load JUnit4TestMethodAdapter
    + * because it might fail with
    + * NoClassDefFoundException, instead of plain
    + * ClassNotFoundException.
    + */
    + junit4TestAdapterClass = Class.forName(
    + "org.apache.tools.ant.taskdefs.optional.junit.JUnit4TestMethodAdapter");
    + useSingleMethodAdapter = true;
    + }
    } else {
    junit4TestAdapterClass =
    Class.forName(JUNIT_4_TEST_ADAPTER,
    true, loader);
    + if (testMethodsSpecified) {
    + junit4TestAdapterClass =
    + Class.forName(
    + "org.apache.tools.ant.taskdefs.optional.junit.JUnit4TestMethodAdapter",
    + true, loader);
    + useSingleMethodAdapter = true;
    + }
    }
    } catch (ClassNotFoundException e) {
    // OK, fall back to JUnit 3.
    }
    + }
    junit4 = junit4TestAdapterClass != null;

    if (junit4) {
    // Let's use it!
    + Class[] formalParams;
    + Object[] actualParams;
    + if (useSingleMethodAdapter) {
    + formalParams = new Class[] {Class.class, String[].class};
    + actualParams = new Object[] {testClass, methods};
    + } else {
    + formalParams = new Class[] {Class.class};
    + actualParams = new Object[] {testClass};
    + }
    suite =
    (Test) junit4TestAdapterClass
    - .getConstructor(new Class[] {Class.class}).
    - newInstance(new Object[] {testClass});
    + .getConstructor(formalParams).
    + newInstance(actualParams);
    } else {
    // Use JUnit 3.

    // try to extract a test suite automatically this
    // will generate warnings if the class is no
    // suitable Test
    - suite = new TestSuite(testClass);
    + if (!testMethodsSpecified) {
    + suite = new TestSuite(testClass);
    + } else if (methods.length == 1) {
    + suite = TestSuite.createTest(testClass, methods[0]);
    + } else {
    + TestSuite testSuite = new TestSuite(testClass.getName());
    + for (int i = 0; i < methods.length; i++) {
    + testSuite.addTest(
    + TestSuite.createTest(testClass, methods[i]));
    + }
    + suite = testSuite;
    + }
    }

    }
    @@ -670,11 +766,16 @@ public class JUnitTestRunner implements
    * <tr><td>logtestlistenerevents</td><td>log TestListener events to
    * System.out.</td><td>false</td></tr>
    *
    + * <tr><td>methods</td><td>Comma-separated list of names of individual
    + * test methods to execute.
    + * </td><td>null</td></tr>
    + *
    * </table>
    * @param args the command line arguments.
    * @throws IOException on error.
    */
    public static void main(String[] args) throws IOException {
    + String[] methods = null;
    boolean haltError = false;
    boolean haltFail = false;
    boolean stackfilter = true;
    @@ -696,7 +797,15 @@ public class JUnitTestRunner implements
    }

    for (int i = 1; i < args.length; i++) {
    - if (args[i].startsWith(Constants.HALT_ON_ERROR)) {
    + if (args[i].startsWith(Constants.METHOD_NAMES)) {
    + try {
    + String methodsList = args[i].substring(Constants.METHOD_NAMES.length());
    + methods = JUnitTest.parseTestMethodNamesList(methodsList);
    + } catch (IllegalArgumentException ex) {
    + System.err.println("Invalid specification of test method names: " + args[i]);
    + System.exit(ERRORS);
    + }
    + } else if (args[i].startsWith(Constants.HALT_ON_ERROR)) {
    haltError = Project.toBoolean(args[i].substring(Constants.HALT_ON_ERROR.length()));
    } else if (args[i].startsWith(Constants.HALT_ON_FAILURE)) {
    haltFail = Project.toBoolean(args[i].substring(Constants.HALT_ON_FAILURE.length()));
    @@ -744,18 +853,30 @@ public class JUnitTestRunner implements
    java.io.BufferedReader reader =
    new java.io.BufferedReader(new java.io.FileReader(args[0]));
    String testCaseName;
    + String[] testMethodNames;
    int code = 0;
    boolean errorOccurred = false;
    boolean failureOccurred = false;
    String line = null;
    while ((line = reader.readLine()) != null) {
    StringTokenizer st = new StringTokenizer(line, ",");
    - testCaseName = st.nextToken();
    + String testListSpec = st.nextToken();
    + int colonIndex = testListSpec.indexOf(':');
    + if (colonIndex == -1) {
    + testCaseName = testListSpec;
    + testMethodNames = null;
    + } else {
    + testCaseName = testListSpec.substring(0, colonIndex);
    + testMethodNames = JUnitTest.parseTestMethodNamesList(
    + testListSpec
    + .substring(colonIndex + 1)
    + .replace('+', ','));
    + }
    JUnitTest t = new JUnitTest(testCaseName);
    t.setTodir(new File(st.nextToken()));
    t.setOutfile(st.nextToken());
    t.setProperties(props);
    - code = launch(t, haltError, stackfilter, haltFail,
    + code = launch(t, testMethodNames, haltError, stackfilter, haltFail,
    showOut, outputToFormat,
    logTestListenerEvents);
    errorOccurred = (code == ERRORS);
    @@ -783,7 +904,7 @@ public class JUnitTestRunner implements
    JUnitTest t = new JUnitTest(args[0]);
    t.setProperties(props);
    returnCode = launch(
    - t, haltError, stackfilter, haltFail,
    + t, methods, haltError, stackfilter, haltFail,
    showOut, outputToFormat, logTestListenerEvents);
    }

    @@ -917,12 +1038,12 @@ public class JUnitTestRunner implements
    /**
    * @since Ant 1.6.2
    */
    - private static int launch(JUnitTest t, boolean haltError,
    + private static int launch(JUnitTest t, String[] methods, boolean haltError,
    boolean stackfilter, boolean haltFail,
    boolean showOut, boolean outputToFormat,
    boolean logTestListenerEvents) {
    JUnitTestRunner runner =
    - new JUnitTestRunner(t, haltError, stackfilter, haltFail, showOut,
    + new JUnitTestRunner(t, methods, haltError, stackfilter, haltFail, showOut,
    logTestListenerEvents, null);
    runner.forked = true;
    runner.outputToFormatters = outputToFormat;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java Mon Dec 13 18:34:00 2010
    @@ -279,6 +279,8 @@ public class XMLResultAggregator extends
    } catch (IOException e) {
    log("Error while accessing file " + file + ": "
    + e.getMessage(), Project.MSG_ERR);
    + log("Error while accessing file " + file + ": "
    + + e.getMessage(), e, Project.MSG_VERBOSE);
    }
    }
    return rootElement;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java Mon Dec 13 18:34:00 2010
    @@ -834,7 +834,7 @@ public class FTP extends Task implements
    } else if (!result) {
    return;
    }
    - this.curpwd = this.curpwd + remoteFileSep
    + this.curpwd = getCurpwdPlusFileSep()
    + currentPathElement;
    } catch (IOException ioe) {
    throw new BuildException("could not change working dir to "
    @@ -895,7 +895,7 @@ public class FTP extends Task implements
    * @return absolute path as string
    */
    public String getAbsolutePath() {
    - return curpwd + remoteFileSep + ftpFile.getName();
    + return getCurpwdPlusFileSep() + ftpFile.getName();
    }
    /**
    * find out the relative path assuming that the path used to construct
    @@ -1037,6 +1037,17 @@ public class FTP extends Task implements
    return curpwd;
    }
    /**
    + * returns the path of the directory containing the AntFTPFile.
    + * of the full path of the file itself in case of AntFTPRootFile
    + * and appends the remote file separator if necessary.
    + * @return parent directory of the AntFTPFile
    + * @since Ant 1.8.2
    + */
    + public String getCurpwdPlusFileSep() {
    + return curpwd.endsWith(remoteFileSep) ? curpwd
    + : curpwd + remoteFileSep;
    + }
    + /**
    * find out if a symbolic link is encountered in the relative path of this file
    * from rootPath.
    * @return <code>true</code> if a symbolic link is encountered in the relative path.
    @@ -2091,7 +2102,7 @@ public class FTP extends Task implements
    myReply = ftp.getReplyStrings();

    for (int x = 0; x < myReply.length; x++) {
    - if (myReply[x].indexOf("200") == -1) {
    + if (myReply[x] != null && myReply[x].indexOf("200") == -1) {
    log(myReply[x], Project.MSG_WARN);
    }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTask.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTask.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTask.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTask.java Mon Dec 13 18:34:00 2010
    @@ -19,8 +19,6 @@ package org.apache.tools.ant.taskdefs.op

    import java.io.File;
    import java.lang.reflect.Constructor;
    -import java.util.Collection;
    -import java.util.Iterator;
    import java.util.Locale;
    import java.util.Vector;


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java Mon Dec 13 18:34:00 2010
    @@ -736,7 +736,7 @@ public class FTPTaskMirrorImpl implement
    } else if (!result) {
    return;
    }
    - this.curpwd = this.curpwd + task.getSeparator()
    + this.curpwd = getCurpwdPlusFileSep()
    + currentPathElement;
    } catch (IOException ioe) {
    throw new BuildException("could not change working dir to "
    @@ -797,7 +797,7 @@ public class FTPTaskMirrorImpl implement
    * @return absolute path as string
    */
    public String getAbsolutePath() {
    - return curpwd + task.getSeparator() + ftpFile.getName();
    + return getCurpwdPlusFileSep() + ftpFile.getName();
    }
    /**
    * find out the relative path assuming that the path used to construct
    @@ -943,6 +943,17 @@ public class FTPTaskMirrorImpl implement
    return curpwd;
    }
    /**
    + * returns the path of the directory containing the AntFTPFile.
    + * of the full path of the file itself in case of AntFTPRootFile
    + * and appends the remote file separator if necessary.
    + * @return parent directory of the AntFTPFile
    + * @since Ant 1.8.2
    + */
    + public String getCurpwdPlusFileSep() {
    + String sep = task.getSeparator();
    + return curpwd.endsWith(sep) ? curpwd : curpwd + sep;
    + }
    + /**
    * find out if a symbolic link is encountered in the relative path of this file
    * from rootPath.
    * @return <code>true</code> if a symbolic link is encountered in the relative path.

    Propchange: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java
    ------------------------------------------------------------------------------
    --- svn:mergeinfo (added)
    +++ svn:mergeinfo Mon Dec 13 18:34:00 2010
    @@ -0,0 +1,2 @@
    +/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java:945039
    +/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java:939803-1045116

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java Mon Dec 13 18:34:00 2010
    @@ -282,7 +282,6 @@ public class ScpFromMessage extends Abst

    private void setLastModified(File localFile) throws JSchException {
    SftpATTRS fileAttributes = null;
    - String remotePath = null;
    ChannelSftp channel = openSftpChannel();
    channel.connect();
    try {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java Mon Dec 13 18:34:00 2010
    @@ -29,24 +29,25 @@

    package org.apache.tools.ant.taskdefs.optional.unix;

    -import java.io.File;
    -import java.io.IOException;
    -import java.io.PrintStream;
    -import java.io.FileInputStream;
    -import java.io.FileOutputStream;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    +import java.io.File;
    +import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    +import java.io.FileOutputStream;
    +import java.io.IOException;
    +import java.io.InputStream;
    +import java.io.PrintStream;

    -import java.util.Vector;
    import java.util.HashSet;
    -import java.util.Iterator;
    import java.util.Hashtable;
    +import java.util.Iterator;
    import java.util.Properties;
    +import java.util.Vector;

    -import org.apache.tools.ant.Project;
    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.DirectoryScanner;
    +import org.apache.tools.ant.Project;
    import org.apache.tools.ant.dispatch.DispatchTask;
    import org.apache.tools.ant.dispatch.DispatchUtils;
    import org.apache.tools.ant.taskdefs.Execute;
    @@ -560,8 +561,10 @@ public class Symlink extends DispatchTas
    File inc = new File(dir, incs[j]);
    File pf = inc.getParentFile();
    Properties lnks = new Properties();
    + InputStream is = null;
    try {
    - lnks.load(new BufferedInputStream(new FileInputStream(inc)));
    + is = new BufferedInputStream(new FileInputStream(inc));
    + lnks.load(is);
    pf = pf.getCanonicalFile();
    } catch (FileNotFoundException fnfe) {
    handleError("Unable to find " + incs[j] + "; skipping it.");
    @@ -570,6 +573,8 @@ public class Symlink extends DispatchTas
    handleError("Unable to open " + incs[j]
    + " or its parent dir; skipping it.");
    continue;
    + } finally {
    + FileUtils.close(is);
    }
    lnks.list(new PrintStream(
    new LogOutputStream(this, Project.MSG_INFO)));

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/AbstractFileSet.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/AbstractFileSet.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/AbstractFileSet.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/AbstractFileSet.java Mon Dec 13 18:34:00 2010
    @@ -444,6 +444,15 @@ public abstract class AbstractFileSet ex
    }

    /**
    + * Gets whether an error is/shold be thrown if the base directory
    + * does not exist.
    + * @since Ant 1.8.2
    + */
    + public boolean getErrorOnMissingDir() {
    + return errorOnMissingDir;
    + }
    +
    + /**
    * Returns the directory scanner needed to access the files to process.
    * @return a <code>DirectoryScanner</code> instance.
    */

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/Path.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/Path.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/Path.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/Path.java Mon Dec 13 18:34:00 2010
    @@ -342,6 +342,12 @@ public class Path extends DataType imple
    }
    if (f.exists()) {
    setLocation(f);
    + } else if (f.getParentFile() != null && f.getParentFile().exists()
    + && containsWildcards(f.getName())) {
    + setLocation(f);
    + log("adding " + f + " which contains wildcards and may not"
    + + " do what you intend it to do depending on your OS or"
    + + " version of Java", Project.MSG_VERBOSE);
    } else {
    log("dropping " + f + " from path as it doesn't exist",
    Project.MSG_VERBOSE);
    @@ -759,4 +765,14 @@ public class Path extends DataType imple
    }
    return preserveBC.booleanValue();
    }
    +
    + /**
    + * Does the given file name contain wildcards?
    + * @since Ant 1.8.2
    + */
    + private static boolean containsWildcards(String path) {
    + return path != null
    + && (path.indexOf("*") > -1 || path.indexOf("?") > -1);
    + }
    +
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/ZipScanner.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/ZipScanner.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/ZipScanner.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/ZipScanner.java Mon Dec 13 18:34:00 2010
    @@ -25,7 +25,6 @@ import java.util.Map;
    import java.util.zip.ZipException;

    import org.apache.tools.ant.BuildException;
    -import org.apache.tools.ant.types.resources.FileResource;
    import org.apache.tools.ant.types.resources.ZipResource;
    import org.apache.tools.ant.types.resources.FileProvider;
    import org.apache.tools.zip.ZipEntry;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/defaults.properties
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/defaults.properties?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/defaults.properties (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/defaults.properties Mon Dec 13 18:34:00 2010
    @@ -46,6 +46,7 @@ compositemapper=org.apache.tools.ant.uti
    chainedmapper=org.apache.tools.ant.util.ChainedMapper
    filtermapper=org.apache.tools.ant.types.mappers.FilterMapper
    firstmatchmapper=org.apache.tools.ant.util.FirstMatchMapper
    +cutdirsmapper=org.apache.tools.ant.types.mappers.CutDirsMapper

    #this condition is in here because it is the sole
    #condition defined in Ant1.6

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/BaseResourceCollectionWrapper.java Mon Dec 13 18:34:00 2010
    @@ -17,16 +17,8 @@
    */
    package org.apache.tools.ant.types.resources;

    -import java.io.File;
    -import java.util.Stack;
    -import java.util.Iterator;
    import java.util.Collection;
    -
    -import org.apache.tools.ant.Project;
    -import org.apache.tools.ant.BuildException;
    -import org.apache.tools.ant.types.DataType;
    -import org.apache.tools.ant.types.Resource;
    -import org.apache.tools.ant.types.ResourceCollection;
    +import java.util.Iterator;

    /**
    * Base class for a ResourceCollection that wraps a single nested
    @@ -34,165 +26,24 @@ import org.apache.tools.ant.types.Resour
    * @since Ant 1.7
    */
    public abstract class BaseResourceCollectionWrapper
    - extends DataType implements ResourceCollection, Cloneable {
    - private static final String ONE_NESTED_MESSAGE
    - = " expects exactly one nested resource collection.";
    + extends AbstractResourceCollectionWrapper {

    - private ResourceCollection rc;
    private Collection coll = null;
    - private boolean cache = true;
    -
    - /**
    - * Set whether to cache collections.
    - * @param b boolean cache flag.
    - */
    - public synchronized void setCache(boolean b) {
    - cache = b;
    - }

    - /**
    - * Learn whether to cache collections. Default is <code>true</code>.
    - * @return boolean cache flag.
    - */
    - public synchronized boolean isCache() {
    - return cache;
    + protected Iterator createIterator() {
    + return cacheCollection().iterator();
    }

    - /**
    - * Add a ResourceCollection to the container.
    - * @param c the ResourceCollection to add.
    - * @throws BuildException on error.
    - */
    - public synchronized void add(ResourceCollection c) throws BuildException {
    - if (isReference()) {
    - throw noChildrenAllowed();
    - }
    - if (c == null) {
    - return;
    - }
    - if (rc != null) {
    - throw oneNested();
    - }
    - rc = c;
    - if (Project.getProject(rc) == null) {
    - Project p = getProject();
    - if (p != null) {
    - p.setProjectReference(rc);
    - }
    - }
    - setChecked(false);
    - }
    -
    - /**
    - * Fulfill the ResourceCollection contract.
    - * @return an Iterator of Resources.
    - */
    - public final synchronized Iterator iterator() {
    - if (isReference()) {
    - return ((BaseResourceCollectionWrapper) getCheckedRef()).iterator();
    - }
    - dieOnCircularReference();
    - return new FailFast(this, cacheCollection().iterator());
    - }
    -
    - /**
    - * Fulfill the ResourceCollection contract.
    - * @return number of elements as int.
    - */
    - public synchronized int size() {
    - if (isReference()) {
    - return ((BaseResourceCollectionWrapper) getCheckedRef()).size();
    - }
    - dieOnCircularReference();
    + protected int getSize() {
    return cacheCollection().size();
    }

    /**
    - * Fulfill the ResourceCollection contract.
    - * @return whether this is a filesystem-only resource collection.
    - */
    - public synchronized boolean isFilesystemOnly() {
    - if (isReference()) {
    - return ((BaseResourceCollectionContainer) getCheckedRef()).isFilesystemOnly();
    - }
    - dieOnCircularReference();
    -
    - if (rc == null || rc.isFilesystemOnly()) {
    - return true;
    - }
    - /* now check each Resource in case the child only
    - lets through files from any children IT may have: */
    - for (Iterator i = cacheCollection().iterator(); i.hasNext();) {
    - Resource r = (Resource) i.next();
    - if (r.as(FileProvider.class) == null) {
    - return false;
    - }
    - }
    - return true;
    - }
    -
    - /**
    - * Overrides the version of DataType to recurse on all DataType
    - * child elements that may have been added.
    - * @param stk the stack of data types to use (recursively).
    - * @param p the project to use to dereference the references.
    - * @throws BuildException on error.
    - */
    - protected synchronized void dieOnCircularReference(Stack stk, Project p)
    - throws BuildException {
    - if (isChecked()) {
    - return;
    - }
    - if (isReference()) {
    - super.dieOnCircularReference(stk, p);
    - } else {
    - if (rc instanceof DataType) {
    - pushAndInvokeCircularReferenceCheck((DataType) rc, stk, p);
    - }
    - setChecked(true);
    - }
    - }
    -
    - /**
    - * Get the nested ResourceCollection.
    - * @return a ResourceCollection.
    - * @throws BuildException if no nested ResourceCollection has been provided.
    - */
    - protected final synchronized ResourceCollection getResourceCollection() {
    - dieOnCircularReference();
    - if (rc == null) {
    - throw oneNested();
    - }
    - return rc;
    - }
    -
    - /**
    * Template method for subclasses to return a Collection of Resources.
    * @return Collection.
    */
    protected abstract Collection getCollection();

    - /**
    - * Format this BaseResourceCollectionWrapper as a String.
    - * @return a descriptive <code>String</code>.
    - */
    - public synchronized String toString() {
    - if (isReference()) {
    - return getCheckedRef().toString();
    - }
    - if (cacheCollection().size() == 0) {
    - return "";
    - }
    - StringBuffer sb = new StringBuffer();
    - for (Iterator i = coll.iterator(); i.hasNext();) {
    - if (sb.length() > 0) {
    - sb.append(File.pathSeparatorChar);
    - }
    - sb.append(i.next());
    - }
    - return sb.toString();
    - }
    -
    private synchronized Collection cacheCollection() {
    if (coll == null || !isCache()) {
    coll = getCollection();
    @@ -200,8 +51,4 @@ public abstract class BaseResourceCollec
    return coll;
    }

    - private BuildException oneNested() {
    - return new BuildException(super.toString() + ONE_NESTED_MESSAGE);
    - }
    -
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/FileResource.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/FileResource.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/FileResource.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/FileResource.java Mon Dec 13 18:34:00 2010
    @@ -345,7 +345,9 @@ public class FileResource extends Resour
    ((FileResource) getCheckedRef()).touch(modTime);
    return;
    }
    - getNotNullFile().setLastModified(modTime);
    + if (!getNotNullFile().setLastModified(modTime)) {
    + log("Failed to change file modification time", Project.MSG_WARN);
    + }
    }

    /**

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Resources.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Resources.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Resources.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Resources.java Mon Dec 13 18:34:00 2010
    @@ -208,6 +208,7 @@ public class Resources extends DataType
    if (isReference()) {
    return getCheckedRef().toString();
    }
    + validate();
    if (coll == null || coll.isEmpty()) {
    return "";
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Restrict.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Restrict.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Restrict.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/Restrict.java Mon Dec 13 18:34:00 2010
    @@ -17,8 +17,6 @@
    */
    package org.apache.tools.ant.types.resources;

    -import java.util.ArrayList;
    -import java.util.Collection;
    import java.util.Iterator;
    import java.util.Stack;

    @@ -37,23 +35,17 @@ import org.apache.tools.ant.types.resour
    public class Restrict
    extends ResourceSelectorContainer implements ResourceCollection {

    - private BaseResourceCollectionWrapper w = new BaseResourceCollectionWrapper() {
    + private LazyResourceCollectionWrapper w = new LazyResourceCollectionWrapper() {
    /**
    * Restrict the nested ResourceCollection based on the nested selectors.
    - * @return a Collection of Resources.
    */
    - protected Collection getCollection() {
    - ArrayList result = new ArrayList();
    -outer: for (Iterator ri = w.getResourceCollection().iterator(); ri.hasNext();) {
    - Resource r = (Resource) ri.next();
    - for (Iterator i = getSelectors(); i.hasNext();) {
    - if (!((ResourceSelector) (i.next())).isSelected(r)) {
    - continue outer;
    - }
    + protected boolean filterResource(Resource r) {
    + for (Iterator i = getSelectors(); i.hasNext();) {
    + if (!((ResourceSelector) (i.next())).isSelected(r)) {
    + return true;
    }
    - result.add(r);
    }
    - return result;
    + return false;
    }
    };


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/selectors/Name.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/selectors/Name.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/selectors/Name.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/types/resources/selectors/Name.java Mon Dec 13 18:34:00 2010
    @@ -22,6 +22,7 @@ import org.apache.tools.ant.types.Regula
    import org.apache.tools.ant.types.Resource;
    import org.apache.tools.ant.types.selectors.SelectorUtils;
    import org.apache.tools.ant.util.regexp.Regexp;
    +import org.apache.tools.ant.util.regexp.RegexpUtil;

    /**
    * Name ResourceSelector.
    @@ -137,11 +138,7 @@ public class Name implements ResourceSel
    reg.setPattern(regex);
    expression = reg.getRegexp(project);
    }
    - int options = Regexp.MATCH_DEFAULT;
    - if (!cs) {
    - options |= Regexp.MATCH_CASE_INSENSITIVE;
    - }
    - return expression.matches(modify(name), options);
    + return expression.matches(modify(name), RegexpUtil.asOptions(cs));
    }
    }
  • Antoine at Dec 13, 2010 at 6:35 pm
    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Checksum.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Checksum.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Checksum.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Checksum.java Mon Dec 13 18:34:00 2010
    @@ -61,6 +61,7 @@ import org.apache.tools.ant.util.StringU
    */
    public class Checksum extends MatchingTask implements Condition {

    + private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
    private static final int NIBBLE = 4;
    private static final int WORD = 16;
    private static final int BUFFER_SIZE = 8 * 1024;
    @@ -457,15 +458,7 @@ public class Checksum extends MatchingTa
    File directory;
    if (todir != null) {
    // A separate directory was explicitly declared
    - String path = (String) relativeFilePaths.get(file);
    - if (path == null) {
    - //bug 37386. this should not occur, but it has, once.
    - throw new BuildException(
    - "Internal error: "
    - + "relativeFilePaths could not match file"
    - + file + "\n"
    - + "please file a bug report on this");
    - }
    + String path = getRelativeFilePath(file);
    directory = new File(todir, path).getParentFile();
    // Create the directory, as it might not exist.
    directory.mkdirs();
    @@ -539,6 +532,15 @@ public class Checksum extends MatchingTa
    fos.write(format.format(new Object[] {
    checksum,
    src.getName(),
    + FileUtils
    + .getRelativePath(dest
    + .getParentFile(),
    + src),
    + FileUtils
    + .getRelativePath(getProject()
    + .getBaseDir(),
    + src),
    + src.getAbsolutePath()
    }).getBytes());
    fos.write(StringUtils.LINE_SEP.getBytes());
    fos.close();
    @@ -559,8 +561,8 @@ public class Checksum extends MatchingTa
    File f2 = (File) o2;
    return f1 == null ? (f2 == null ? 0 : -1)
    : (f2 == null ? 1
    - : f1.getName().compareTo(f2.getName())
    - );
    + : getRelativeFilePath(f1)
    + .compareTo(getRelativeFilePath(f2)));
    }
    });
    // Loop over the checksums and generate a total hash.
    @@ -573,7 +575,7 @@ public class Checksum extends MatchingTa
    messageDigest.update(digest);

    // Add the file path
    - String fileName = (String) relativeFilePaths.get(src);
    + String fileName = getRelativeFilePath(src);
    messageDigest.update(fileName.getBytes());
    }
    String totalChecksum = createDigestString(messageDigest.digest());
    @@ -655,6 +657,21 @@ public class Checksum extends MatchingTa
    }

    /**
    + * @since Ant 1.8.2
    + */
    + private String getRelativeFilePath(File f) {
    + String path = (String) relativeFilePaths.get(f);
    + if (path == null) {
    + //bug 37386. this should not occur, but it has, once.
    + throw new BuildException("Internal error: "
    + + "relativeFilePaths could not match file "
    + + f + "\n"
    + + "please file a bug report on this");
    + }
    + return path;
    + }
    +
    + /**
    * Helper class for the format attribute.
    *
    * @since 1.7

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Concat.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Concat.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Concat.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Concat.java Mon Dec 13 18:34:00 2010
    @@ -471,6 +471,8 @@ public class Concat extends Task impleme
    private Vector filterChains;
    /** ignore dates on input files */
    private boolean forceOverwrite = true;
    + /** overwrite read-only files */
    + private boolean force = false;
    /** String to place at the start of the concatented stream */
    private TextElement footer;
    /** String to place at the end of the concatented stream */
    @@ -526,6 +528,7 @@ public class Concat extends Task impleme
    eolString = StringUtils.LINE_SEP;
    rc = null;
    ignoreEmpty = true;
    + force = false;
    }

    // Attribute setters.
    @@ -581,12 +584,36 @@ public class Concat extends Task impleme

    /**
    * Force overwrite existing destination file
    - * @param force if true always overwrite, otherwise only overwrite
    - * if the output file is older any of the input files.
    + * @param forceOverwrite if true always overwrite, otherwise only
    + * overwrite if the output file is older any of the
    + * input files.
    * @since Ant 1.6
    + * @deprecated use #setOverwrite instead
    */
    - public void setForce(boolean force) {
    - this.forceOverwrite = force;
    + public void setForce(boolean forceOverwrite) {
    + this.forceOverwrite = forceOverwrite;
    + }
    +
    + /**
    + * Force overwrite existing destination file
    + * @param forceOverwrite if true always overwrite, otherwise only
    + * overwrite if the output file is older any of the
    + * input files.
    + * @since Ant 1.8.2
    + */
    + public void setOverwrite(boolean forceOverwrite) {
    + setForce(forceOverwrite);
    + }
    +
    + /**
    + * Whether read-only destinations will be overwritten.
    + *
    + * <p>Defaults to false</p>
    + *
    + * @since Ant 1.8.2
    + */
    + public void setForceReadOnly(boolean f) {
    + force = f;
    }

    /**
    @@ -761,9 +788,11 @@ public class Concat extends Task impleme
    }
    try {
    //most of these are defaulted because the concat-as-a-resource code hijacks a lot:
    - ResourceUtils.copyResource(new ConcatResource(c), dest == null ? new LogOutputResource(
    - this, Project.MSG_WARN) : dest, null, null, true, false, append, null, null,
    - getProject());
    + ResourceUtils.copyResource(new ConcatResource(c), dest == null
    + ? new LogOutputResource(this, Project.MSG_WARN)
    + : dest,
    + null, null, true, false, append, null,
    + null, getProject(), force);
    } catch (IOException e) {
    throw new BuildException("error concatenating content to " + dest, e);
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Copy.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Copy.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Copy.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Copy.java Mon Dec 13 18:34:00 2010
    @@ -46,6 +46,7 @@ import org.apache.tools.ant.types.resour
    import org.apache.tools.ant.util.FileUtils;
    import org.apache.tools.ant.util.FileNameMapper;
    import org.apache.tools.ant.util.IdentityMapper;
    +import org.apache.tools.ant.util.LinkedHashtable;
    import org.apache.tools.ant.util.ResourceUtils;
    import org.apache.tools.ant.util.SourceFileScanner;
    import org.apache.tools.ant.util.FlatFileNameMapper;
    @@ -88,9 +89,9 @@ public class Copy extends Task {
    protected boolean includeEmpty = true;
    protected boolean failonerror = true;

    - protected Hashtable fileCopyMap = new Hashtable();
    - protected Hashtable dirCopyMap = new Hashtable();
    - protected Hashtable completeDirMap = new Hashtable();
    + protected Hashtable fileCopyMap = new LinkedHashtable();
    + protected Hashtable dirCopyMap = new LinkedHashtable();
    + protected Hashtable completeDirMap = new LinkedHashtable();

    protected Mapper mapperElement = null;
    protected FileUtils fileUtils;
    @@ -100,6 +101,11 @@ public class Copy extends Task {
    private String inputEncoding = null;
    private String outputEncoding = null;
    private long granularity = 0;
    + private boolean force = false;
    +
    + // used to store the single non-file resource to copy when the
    + // tofile attribute has been used
    + private Resource singleResource = null;

    /**
    * Copy task constructor.
    @@ -229,6 +235,26 @@ public class Copy extends Task {
    }

    /**
    + * Whether read-only destinations will be overwritten.
    + *
    + * <p>Defaults to false</p>
    + *
    + * @since Ant 1.8.2
    + */
    + public void setForce(boolean f) {
    + force = f;
    + }
    +
    + /**
    + * Whether read-only destinations will be overwritten.
    + *
    + * @since Ant 1.8.2
    + */
    + public boolean getForce() {
    + return force;
    + }
    +
    + /**
    * Set whether files copied from directory trees will be "flattened"
    * into a single directory. If there are multiple files with
    * the same name in the source directory tree, only the first
    @@ -529,11 +555,15 @@ public class Copy extends Task {
    }
    }

    - if (nonFileResources.size() > 0) {
    + if (nonFileResources.size() > 0 || singleResource != null) {
    Resource[] nonFiles =
    (Resource[]) nonFileResources.toArray(new Resource[nonFileResources.size()]);
    // restrict to out-of-date resources
    Map map = scan(nonFiles, destDir);
    + if (singleResource != null) {
    + map.put(singleResource,
    + new String[] { destFile.getAbsolutePath() });
    + }
    try {
    doResourceOperations(map);
    } catch (BuildException e) {
    @@ -547,6 +577,7 @@ public class Copy extends Task {
    } finally {
    // clean up again, so this instance can be used a second
    // time
    + singleResource = null;
    file = savedFile;
    destFile = savedDestFile;
    destDir = savedDestDir;
    @@ -640,10 +671,9 @@ public class Copy extends Task {
    "Cannot concatenate multiple files into a single file.");
    } else {
    ResourceCollection rc = (ResourceCollection) rcs.elementAt(0);
    - if (!rc.isFilesystemOnly()) {
    + if (!rc.isFilesystemOnly() && !supportsNonFileResources()) {
    throw new BuildException("Only FileSystem resources are"
    - + " supported when concatenating"
    - + " files.");
    + + " supported.");
    }
    if (rc.size() == 0) {
    throw new BuildException(MSG_WHEN_COPYING_EMPTY_RC_TO_FILE);
    @@ -651,7 +681,11 @@ public class Copy extends Task {
    Resource res = (Resource) rc.iterator().next();
    FileProvider r = (FileProvider) res.as(FileProvider.class);
    if (file == null) {
    - file = r.getFile();
    + if (r != null) {
    + file = r.getFile();
    + } else {
    + singleResource = res;
    + }
    rcs.removeElementAt(0);
    } else {
    throw new BuildException(
    @@ -838,10 +872,13 @@ public class Copy extends Task {
    executionFilters
    .addFilterSet((FilterSet) filterEnum.nextElement());
    }
    - fileUtils.copyFile(fromFile, toFile, executionFilters,
    + fileUtils.copyFile(new File(fromFile), new File(toFile),
    + executionFilters,
    filterChains, forceOverwrite,
    - preserveLastModified, inputEncoding,
    - outputEncoding, getProject());
    + preserveLastModified,
    + /* append: */ false, inputEncoding,
    + outputEncoding, getProject(),
    + getForce());
    } catch (IOException ioe) {
    String msg = "Failed to copy " + fromFile + " to " + toFile
    + " due to " + getDueTo(ioe);
    @@ -928,9 +965,11 @@ public class Copy extends Task {
    filterChains,
    forceOverwrite,
    preserveLastModified,
    + /* append: */ false,
    inputEncoding,
    outputEncoding,
    - getProject());
    + getProject(),
    + getForce());
    } catch (IOException ioe) {
    String msg = "Failed to copy " + fromResource
    + " to " + toFile

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Delete.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Delete.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Delete.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Delete.java Mon Dec 13 18:34:00 2010
    @@ -27,7 +27,6 @@ import java.util.Comparator;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.DirectoryScanner;
    -import org.apache.tools.ant.taskdefs.condition.Os;
    import org.apache.tools.ant.types.FileSet;
    import org.apache.tools.ant.types.PatternSet;
    import org.apache.tools.ant.types.Resource;
    @@ -603,6 +602,10 @@ public class Delete extends MatchingTask
    fs.setProject(getProject());
    }
    final File fsDir = fs.getDir();
    + if (!fs.getErrorOnMissingDir() &&
    + (fsDir == null || !fsDir.exists())) {
    + continue;
    + }
    if (fsDir == null) {
    throw new BuildException(
    "File or Resource without directory or file specified");

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Echo.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Echo.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Echo.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Echo.java Mon Dec 13 18:34:00 2010
    @@ -47,6 +47,7 @@ public class Echo extends Task {
    protected boolean append = false;
    /** encoding; set to null or empty means 'default' */
    private String encoding = "";
    + private boolean force = false;

    // by default, messages are always displayed
    protected int logLevel = Project.MSG_WARN;
    @@ -63,9 +64,12 @@ public class Echo extends Task {
    final String msg = "".equals(message) ? StringUtils.LINE_SEP : message;
    try {
    ResourceUtils
    - .copyResource(new StringResource(msg), output == null ? new LogOutputResource(
    - this, logLevel) : output, null, null, false, false, append, null, ""
    - .equals(encoding) ? null : encoding, getProject());
    + .copyResource(new StringResource(msg), output == null
    + ? new LogOutputResource(this, logLevel)
    + : output,
    + null, null, false, false, append, null,
    + "".equals(encoding) ? null : encoding,
    + getProject(), force);
    } catch (IOException ioe) {
    throw new BuildException(ioe, getLocation());
    }
    @@ -148,6 +152,17 @@ public class Echo extends Task {
    }

    /**
    + * Whether read-only destinations will be overwritten.
    + *
    + * <p>Defaults to false</p>
    + *
    + * @since Ant 1.8.2
    + */
    + public void setForce(boolean f) {
    + force = f;
    + }
    +
    + /**
    * The enumerated values for the level attribute.
    */
    public static class EchoLevel extends LogLevel {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecTask.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecTask.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecTask.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecTask.java Mon Dec 13 18:34:00 2010
    @@ -21,8 +21,9 @@ package org.apache.tools.ant.taskdefs;
    import java.io.File;
    import java.io.IOException;
    import java.util.Enumeration;
    -import java.util.Vector;
    import java.util.Locale;
    +import java.util.Map;
    +import java.util.Vector;

    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.Project;
    @@ -454,14 +455,9 @@ public class ExecTask extends Task {
    }
    }
    if (p == null) {
    - Vector envVars = Execute.getProcEnvironment();
    - Enumeration e = envVars.elements();
    - while (e.hasMoreElements()) {
    - String line = (String) e.nextElement();
    - if (isPath(line)) {
    - p = new Path(getProject(), getPath(line));
    - break;
    - }
    + String path = getPath(Execute.getEnvironmentVariables());
    + if (path != null) {
    + p = new Path(getProject(), path);
    }
    }
    if (p != null) {
    @@ -724,4 +720,9 @@ public class ExecTask extends Task {
    private String getPath(String line) {
    return line.substring("PATH=".length());
    }
    +
    + private String getPath(Map/*<String, String>*/ map) {
    + String p = (String) map.get("PATH");
    + return p != null ? p : (String) map.get("Path");
    + }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Execute.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Execute.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Execute.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Execute.java Mon Dec 13 18:34:00 2010
    @@ -26,8 +26,11 @@ import java.io.FileWriter;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.StringReader;
    +import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    +import java.util.LinkedHashMap;
    +import java.util.Map;
    import java.util.Vector;

    import org.apache.tools.ant.BuildException;
    @@ -37,6 +40,7 @@ import org.apache.tools.ant.Task;
    import org.apache.tools.ant.taskdefs.condition.Os;
    import org.apache.tools.ant.types.Commandline;
    import org.apache.tools.ant.util.FileUtils;
    +import org.apache.tools.ant.util.JavaEnvUtils;
    import org.apache.tools.ant.util.StringUtils;

    /**
    @@ -71,7 +75,7 @@ public class Execute {
    private static String antWorkingDirectory = System.getProperty("user.dir");
    private static CommandLauncher vmLauncher = null;
    private static CommandLauncher shellLauncher = null;
    - private static Vector procEnvironment = null;
    + private static Map/*<String, String>*/ procEnvironment = null;

    /** Used to destroy processes when the VM exits. */
    private static ProcessDestroyer processDestroyer = new ProcessDestroyer();
    @@ -148,14 +152,26 @@ public class Execute {
    /**
    * Find the list of environment variables for this process.
    *
    - * @return a vector containing the environment variables.
    - * The vector elements are strings formatted like variable = value.
    + * @return a map containing the environment variables.
    + * @since Ant 1.8.2
    */
    - public static synchronized Vector getProcEnvironment() {
    + public static synchronized Map/*<String,String>*/ getEnvironmentVariables() {
    if (procEnvironment != null) {
    return procEnvironment;
    }
    - procEnvironment = new Vector();
    + if (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_5)
    + && !Os.isFamily("openvms")) {
    + try {
    + procEnvironment = (Map) System.class
    + .getMethod("getenv", new Class[0])
    + .invoke(null, new Object[0]);
    + return procEnvironment;
    + } catch (Exception x) {
    + x.printStackTrace();
    + }
    + }
    +
    + procEnvironment = new LinkedHashMap();
    try {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    Execute exe = new Execute(new PumpStreamHandler(out));
    @@ -170,7 +186,7 @@ public class Execute {
    new BufferedReader(new StringReader(toString(out)));

    if (Os.isFamily("openvms")) {
    - procEnvironment = addVMSLogicals(procEnvironment, in);
    + procEnvironment = getVMSLogicals(in);
    return procEnvironment;
    }
    String var = null;
    @@ -187,14 +203,17 @@ public class Execute {
    } else {
    // New env var...append the previous one if we have it.
    if (var != null) {
    - procEnvironment.addElement(var);
    + int eq = var.indexOf("=");
    + procEnvironment.put(var.substring(0, eq),
    + var.substring(eq + 1));
    }
    var = line;
    }
    }
    // Since we "look ahead" before adding, there's one last env var.
    if (var != null) {
    - procEnvironment.addElement(var);
    + int eq = var.indexOf("=");
    + procEnvironment.put(var.substring(0, eq), var.substring(eq + 1));
    }
    } catch (java.io.IOException exc) {
    exc.printStackTrace();
    @@ -204,6 +223,23 @@ public class Execute {
    }

    /**
    + * Find the list of environment variables for this process.
    + *
    + * @return a vector containing the environment variables.
    + * The vector elements are strings formatted like variable = value.
    + * @deprecated use #getEnvironmentVariables instead
    + */
    + public static synchronized Vector getProcEnvironment() {
    + Vector v = new Vector();
    + Iterator it = getEnvironmentVariables().entrySet().iterator();
    + while (it.hasNext()) {
    + Map.Entry entry = (Map.Entry) it.next();
    + v.add(entry.getKey() + "=" + entry.getValue());
    + }
    + return v;
    + }
    +
    + /**
    * This is the operation to get our environment.
    * It is a notorious troublespot pre-Java1.5, and should be approached
    * with extreme caution.
    @@ -624,36 +660,39 @@ public class Execute {
    if (Os.isFamily("openvms")) {
    return env;
    }
    - Vector osEnv = (Vector) getProcEnvironment().clone();
    + Map/*<String, String>*/ osEnv =
    + new LinkedHashMap(getEnvironmentVariables());
    for (int i = 0; i < env.length; i++) {
    String keyValue = env[i];
    - // Get key including "="
    - String key = keyValue.substring(0, keyValue.indexOf('=') + 1);
    - if (environmentCaseInSensitive) {
    - // Nb: using default locale as key is a env name
    - key = key.toLowerCase();
    - }
    - int size = osEnv.size();
    + String key = keyValue.substring(0, keyValue.indexOf('='));
    // Find the key in the current enviroment copy
    // and remove it.
    - for (int j = 0; j < size; j++) {
    - String osEnvItem = (String) osEnv.elementAt(j);
    - String convertedItem = environmentCaseInSensitive
    - ? osEnvItem.toLowerCase() : osEnvItem;
    - if (convertedItem.startsWith(key)) {
    - osEnv.removeElementAt(j);
    - if (environmentCaseInSensitive) {
    +
    + // Try without changing case first
    + if (osEnv.remove(key) == null && environmentCaseInSensitive) {
    + // not found, maybe perform a case insensitive search
    +
    + for (Iterator it = osEnv.keySet().iterator(); it.hasNext(); ) {
    + String osEnvItem = (String) it.next();
    + // Nb: using default locale as key is a env name
    + if (osEnvItem.toLowerCase().equals(key.toLowerCase())) {
    // Use the original casiness of the key
    - keyValue = osEnvItem.substring(0, key.length())
    - + keyValue.substring(key.length());
    + key = osEnvItem;
    + break;
    }
    - break;
    }
    }
    +
    // Add the key to the enviromnent copy
    - osEnv.addElement(keyValue);
    + osEnv.put(key, keyValue.substring(key.length() + 1));
    }
    - return (String[]) (osEnv.toArray(new String[osEnv.size()]));
    +
    + ArrayList l = new ArrayList();
    + for (Iterator it = osEnv.entrySet().iterator(); it.hasNext(); ) {
    + Map.Entry entry = (Map.Entry) it.next();
    + l.add(entry.getKey() + "=" + entry.getValue());
    + }
    + return (String[]) (l.toArray(new String[osEnv.size()]));
    }

    /**
    @@ -696,17 +735,17 @@ public class Execute {
    }

    /**
    - * This method is VMS specific and used by getProcEnvironment().
    + * This method is VMS specific and used by getEnvironmentVariables().
    *
    - * Parses VMS logicals from <code>in</code> and adds them to
    - * <code>environment</code>. <code>in</code> is expected to be the
    + * Parses VMS logicals from <code>in</code> and returns them as a Map.
    + * <code>in</code> is expected to be the
    * output of "SHOW LOGICAL". The method takes care of parsing the output
    * correctly as well as making sure that a logical defined in multiple
    * tables only gets added from the highest order table. Logicals with
    * multiple equivalence names are mapped to a variable with multiple
    * values separated by a comma (,).
    */
    - private static Vector addVMSLogicals(Vector environment, BufferedReader in)
    + private static Map getVMSLogicals(BufferedReader in)
    throws IOException {
    HashMap logicals = new HashMap();
    String logName = null, logValue = null, newLogName;
    @@ -740,11 +779,7 @@ public class Execute {
    if (logName != null) {
    logicals.put(logName, logValue);
    }
    - for (Iterator i = logicals.keySet().iterator(); i.hasNext();) {
    - String logical = (String) i.next();
    - environment.add(logical + "=" + logicals.get(logical));
    - }
    - return environment;
    + return logicals;
    }

    /**

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java Mon Dec 13 18:34:00 2010
    @@ -708,6 +708,11 @@ public class ExecuteOn extends ExecTask
    String[] command = getCommandline(s, b);
    log(Commandline.describeCommand(command), Project.MSG_VERBOSE);
    exe.setCommandline(command);
    + if (redirectorElement != null) {
    + setupRedirector();
    + redirectorElement.configure(redirector, null);
    + exe.setStreamHandler(redirector.createHandler());
    + }
    runExecute(exe);
    } else {
    int stillToDo = fileNames.size();

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Get.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Get.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Get.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Get.java Mon Dec 13 18:34:00 2010
    @@ -29,9 +29,7 @@ import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Date;
    -import java.util.HashSet;
    import java.util.Iterator;
    -import java.util.Set;

    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.Project;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/HostInfo.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/HostInfo.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/HostInfo.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/HostInfo.java Mon Dec 13 18:34:00 2010
    @@ -129,7 +129,7 @@ public class HostInfo extends Task {
    }
    selectAddresses();

    - if (nameAddr != null) {
    + if (nameAddr != null && hasHostName(nameAddr)) {
    setDomainAndName(nameAddr.getCanonicalHostName());
    } else {
    setProperty(DOMAIN, DEF_DOMAIN);
    @@ -153,6 +153,11 @@ public class HostInfo extends Task {
    setProperty(ADDR6, DEF_LOCAL_ADDR6);
    }
    }
    +
    + private boolean hasHostName(InetAddress addr)
    + {
    + return !addr.getHostAddress().equals(addr.getCanonicalHostName());
    + }

    private void selectAddresses() {
    Iterator i = inetAddrs.iterator();
    @@ -167,7 +172,7 @@ public class HostInfo extends Task {
    }
    }

    - nameAddr = selectBestAddress(best6, best4);
    + nameAddr = selectBestAddress(best4, best6);
    }

    private InetAddress selectBestAddress(InetAddress bestSoFar,
    @@ -177,7 +182,7 @@ public class HostInfo extends Task {
    // none selected so far, so this one is better.
    best = current;
    } else {
    - if (current.isLoopbackAddress()) {
    + if (current == null || current.isLoopbackAddress()) {
    // definitely not better than the previously selected address.
    } else if (current.isLinkLocalAddress()) {
    // link local considered better than loopback
    @@ -186,13 +191,24 @@ public class HostInfo extends Task {
    }
    } else if (current.isSiteLocalAddress()) {
    // site local considered better than link local (and loopback)
    - if (best.isLoopbackAddress() || best.isLinkLocalAddress()) {
    + // address with hostname resolved considered better than
    + // address without hostname
    + if (best.isLoopbackAddress()
    + || best.isLinkLocalAddress()
    + || (best.isSiteLocalAddress() && !hasHostName(best))) {
    best = current;
    }
    } else {
    - // current is a global address, and therefore best (at least
    - // equally well)
    - best = current;
    + // current is a "Global address", considered better than
    + // site local (and better than link local, loopback)
    + // address with hostname resolved considered better than
    + // address without hostname
    + if (best.isLoopbackAddress()
    + || best.isLinkLocalAddress()
    + || best.isSiteLocalAddress()
    + || !hasHostName(best)) {
    + best = current;
    + }
    }
    }
    return best;
    @@ -204,7 +220,7 @@ public class HostInfo extends Task {

    selectAddresses();

    - if (nameAddr != null) {
    + if (nameAddr != null && hasHostName(nameAddr)) {
    setDomainAndName(nameAddr.getCanonicalHostName());
    } else {
    setDomainAndName(host);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ImportTask.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ImportTask.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ImportTask.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ImportTask.java Mon Dec 13 18:34:00 2010
    @@ -21,6 +21,7 @@ package org.apache.tools.ant.taskdefs;
    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.ProjectHelper;
    import org.apache.tools.ant.Project;
    +import org.apache.tools.ant.ProjectHelperRepository;
    import org.apache.tools.ant.Task;
    import org.apache.tools.ant.types.Resource;
    import org.apache.tools.ant.types.ResourceCollection;
    @@ -213,7 +214,22 @@ public class ImportTask extends Task {
    setProjectHelperProps(prefix, prefixSeparator,
    isInIncludeMode());

    - helper.parse(getProject(), importedResource);
    + ProjectHelper subHelper = ProjectHelperRepository.getInstance().getProjectHelperForBuildFile(
    + importedResource);
    +
    + // push current stacks into the sub helper
    + subHelper.getImportStack().addAll(helper.getImportStack());
    + subHelper.getExtensionStack().addAll(helper.getExtensionStack());
    + getProject().addReference(ProjectHelper.PROJECTHELPER_REFERENCE, subHelper);
    +
    + subHelper.parse(getProject(), importedResource);
    +
    + // push back the stack from the sub helper to the main one
    + getProject().addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper);
    + helper.getImportStack().clear();
    + helper.getImportStack().addAll(subHelper.getImportStack());
    + helper.getExtensionStack().clear();
    + helper.getExtensionStack().addAll(subHelper.getExtensionStack());
    } catch (BuildException ex) {
    throw ProjectHelper.addLocationToBuildException(
    ex, getLocation());

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Jar.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Jar.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Jar.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Jar.java Mon Dec 13 18:34:00 2010
    @@ -46,6 +46,7 @@ import java.util.zip.ZipFile;
    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.taskdefs.Manifest.Section;
    +import org.apache.tools.ant.types.ArchiveFileSet;
    import org.apache.tools.ant.types.EnumeratedAttribute;
    import org.apache.tools.ant.types.FileSet;
    import org.apache.tools.ant.types.Path;
    @@ -1176,6 +1177,18 @@ public class Jar extends Zip {
    }
    for (int j = 0; j < resources[0].length; j++) {
    String name = resources[0][j].getName().replace('\\', '/');
    + if (rcs[i] instanceof ArchiveFileSet) {
    + ArchiveFileSet afs = (ArchiveFileSet) rcs[i];
    + if (!"".equals(afs.getFullpath(getProject()))) {
    + name = afs.getFullpath(getProject());
    + } else if (!"".equals(afs.getPrefix(getProject()))) {
    + String prefix = afs.getPrefix(getProject());
    + if (!prefix.endsWith("/") && !prefix.endsWith("\\")) {
    + prefix += "/";
    + }
    + name = prefix + name;
    + }
    + }
    if (name.equalsIgnoreCase(MANIFEST_NAME)) {
    manifests[i] = new Resource[] {resources[0][j]};
    break;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Java.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Java.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Java.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Java.java Mon Dec 13 18:34:00 2010
    @@ -732,7 +732,7 @@ public class Java extends Task {
    if (redirector.getErrorStream() != null) {
    redirector.handleErrorFlush(output);
    } else {
    - super.handleErrorOutput(output);
    + super.handleErrorFlush(output);
    }
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Javac.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Javac.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Javac.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Javac.java Mon Dec 13 18:34:00 2010
    @@ -31,6 +31,7 @@ import org.apache.tools.ant.DirectorySca
    import org.apache.tools.ant.MagicNames;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter;
    +import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterExtension;
    import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory;
    import org.apache.tools.ant.types.Path;
    import org.apache.tools.ant.types.Reference;
    @@ -79,6 +80,7 @@ public class Javac extends MatchingTask
    private static final String FAIL_MSG
    = "Compile failed; see the compiler error output for details.";

    + private static final String JAVAC17 = "javac1.7";
    private static final String JAVAC16 = "javac1.6";
    private static final String JAVAC15 = "javac1.5";
    private static final String JAVAC14 = "javac1.4";
    @@ -143,6 +145,8 @@ public class Javac extends MatchingTask
    return JAVAC15;
    } else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_6)) {
    return JAVAC16;
    + } else if (JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_7)) {
    + return JAVAC17;
    } else {
    return CLASSIC;
    }
    @@ -594,7 +598,7 @@ public class Javac extends MatchingTask
    /**
    * Sets the target VM that the classes will be compiled for. Valid
    * values depend on the compiler, for jdk 1.4 the valid values are
    - * "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "5" and "6".
    + * "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "5", "6" and "7".
    * @param target the target VM
    */
    public void setTarget(String target) {
    @@ -758,7 +762,8 @@ public class Javac extends MatchingTask
    }

    private String getAltCompilerName(String anImplementation) {
    - if (JAVAC16.equalsIgnoreCase(anImplementation)
    + if (JAVAC17.equalsIgnoreCase(anImplementation)
    + || JAVAC16.equalsIgnoreCase(anImplementation)
    JAVAC15.equalsIgnoreCase(anImplementation)
    JAVAC14.equalsIgnoreCase(anImplementation)
    JAVAC13.equalsIgnoreCase(anImplementation)) {
    @@ -770,7 +775,8 @@ public class Javac extends MatchingTask
    }
    if (MODERN.equalsIgnoreCase(anImplementation)) {
    String nextSelected = assumedJavaVersion();
    - if (JAVAC16.equalsIgnoreCase(nextSelected)
    + if (JAVAC17.equalsIgnoreCase(nextSelected)
    + || JAVAC16.equalsIgnoreCase(nextSelected)
    JAVAC15.equalsIgnoreCase(nextSelected)
    JAVAC14.equalsIgnoreCase(nextSelected)
    JAVAC13.equalsIgnoreCase(nextSelected)) {
    @@ -807,7 +813,7 @@ public class Javac extends MatchingTask
    }

    /**
    - * The property to set on compliation success.
    + * The property to set on compilation success.
    * This property will not be set if the compilation
    * fails, or if there are no files to compile.
    * @param updatedProperty the property name to use.
    @@ -818,7 +824,7 @@ public class Javac extends MatchingTask
    }

    /**
    - * The property to set on compliation failure.
    + * The property to set on compilation failure.
    * This property will be set if the compilation
    * fails.
    * @param errorProperty the property name to use.
    @@ -929,21 +935,51 @@ public class Javac extends MatchingTask
    */
    protected void scanDir(File srcDir, File destDir, String[] files) {
    GlobPatternMapper m = new GlobPatternMapper();
    - m.setFrom("*.java");
    - m.setTo("*.class");
    - SourceFileScanner sfs = new SourceFileScanner(this);
    - File[] newFiles = sfs.restrictAsFiles(files, srcDir, destDir, m);
    -
    - if (newFiles.length > 0) {
    - lookForPackageInfos(srcDir, newFiles);
    - File[] newCompileList
    - = new File[compileList.length + newFiles.length];
    - System.arraycopy(compileList, 0, newCompileList, 0,
    - compileList.length);
    - System.arraycopy(newFiles, 0, newCompileList,
    - compileList.length, newFiles.length);
    - compileList = newCompileList;
    + String[] extensions = findSupportedFileExtensions();
    +
    + for (int i = 0; i < extensions.length; i++) {
    + m.setFrom(extensions[i]);
    + m.setTo("*.class");
    + SourceFileScanner sfs = new SourceFileScanner(this);
    + File[] newFiles = sfs.restrictAsFiles(files, srcDir, destDir, m);
    +
    + if (newFiles.length > 0) {
    + lookForPackageInfos(srcDir, newFiles);
    + File[] newCompileList
    + = new File[compileList.length + newFiles.length];
    + System.arraycopy(compileList, 0, newCompileList, 0,
    + compileList.length);
    + System.arraycopy(newFiles, 0, newCompileList,
    + compileList.length, newFiles.length);
    + compileList = newCompileList;
    + }
    + }
    + }
    +
    + private String[] findSupportedFileExtensions() {
    + String compilerImpl = getCompiler();
    + CompilerAdapter adapter =
    + nestedAdapter != null ? nestedAdapter :
    + CompilerAdapterFactory.getCompiler(compilerImpl, this,
    + createCompilerClasspath());
    + String[] extensions = null;
    + if (adapter instanceof CompilerAdapterExtension) {
    + extensions =
    + ((CompilerAdapterExtension) adapter).getSupportedFileExtensions();
    + }
    +
    + if (extensions == null) {
    + extensions = new String[] { "java" };
    + }
    +
    + // now process the extensions to ensure that they are the
    + // right format
    + for (int i = 0; i < extensions.length; i++) {
    + if (!extensions[i].startsWith("*.")) {
    + extensions[i] = "*." + extensions[i];
    + }
    }
    + return extensions;
    }

    /**
    @@ -965,6 +1001,7 @@ public class Javac extends MatchingTask
    protected boolean isJdkCompiler(String compilerImpl) {
    return MODERN.equals(compilerImpl)
    CLASSIC.equals(compilerImpl)
    + || JAVAC17.equals(compilerImpl)
    JAVAC16.equals(compilerImpl)
    JAVAC15.equals(compilerImpl)
    JAVAC14.equals(compilerImpl)
    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/LoadProperties.java Mon Dec 13 18:34:00 2010
    @@ -66,6 +66,7 @@ public class LoadProperties extends Task
    * Prefix for loaded properties.
    */
    private String prefix = null;
    + private boolean prefixValues = true;

    /**
    * Set the file to load.
    @@ -142,6 +143,16 @@ public class LoadProperties extends Task
    }

    /**
    + * Whether to apply the prefix when expanding properties on the
    + * right hand side of a properties file as well.
    + *
    + * @since Ant 1.8.2
    + */
    + public void setPrefixValues(boolean b) {
    + prefixValues = b;
    + }
    +
    + /**
    * load Ant properties from the source file or resource
    *
    * @exception BuildException if something goes wrong with the build
    @@ -189,6 +200,7 @@ public class LoadProperties extends Task
    Property propertyTask = new Property();
    propertyTask.bindToOwner(this);
    propertyTask.setPrefix(prefix);
    + propertyTask.setPrefixValues(prefixValues);
    propertyTask.addProperties(props);
    }
    } catch (final IOException ioe) {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ManifestClassPath.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ManifestClassPath.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ManifestClassPath.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/ManifestClassPath.java Mon Dec 13 18:34:00 2010
    @@ -78,7 +78,6 @@ public class ManifestClassPath extends T

    String[] elements = path.list();
    StringBuffer buffer = new StringBuffer();
    - StringBuffer element = new StringBuffer();
    for (int i = 0; i < elements.length; ++i) {
    // Normalize the current file
    File pathEntry = new File(elements[i]);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Mkdir.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Mkdir.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Mkdir.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Mkdir.java Mon Dec 13 18:34:00 2010
    @@ -59,6 +59,12 @@ public class Mkdir extends Task {
    if (!dir.exists()) {
    boolean result = mkdirs(dir);
    if (!result) {
    + if (dir.exists()) {
    + log("A different process or task has already created "
    + + "dir " + dir.getAbsolutePath(),
    + Project.MSG_VERBOSE);
    + return;
    + }
    String msg = "Directory " + dir.getAbsolutePath()
    + " creation was not successful for an unknown reason";
    throw new BuildException(msg, getLocation());

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Move.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Move.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Move.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Move.java Mon Dec 13 18:34:00 2010
    @@ -233,9 +233,10 @@ public class Move extends Copy {
    getFilterChains(),
    forceOverwrite,
    getPreserveLastModified(),
    + /* append: */ false,
    getEncoding(),
    getOutputEncoding(),
    - getProject());
    + getProject(), getForce());
    } catch (IOException ioe) {
    String msg = "Failed to copy " + fromFile
    + " to " + toFile + " due to " + ioe.getMessage();
    @@ -329,6 +330,18 @@ public class Move extends Copy {
    getFilterChains().size() > 0) {
    return false;
    }
    +
    + // identical logic lives in ResourceUtils.copyResource():
    + if (destFile.isFile() && !destFile.canWrite()) {
    + if (!getForce()) {
    + throw new IOException("can't replace read-only destination "
    + + "file " + destFile);
    + } else if (!getFileUtils().tryHardToDelete(destFile)) {
    + throw new IOException("failed to delete read-only "
    + + "destination file " + destFile);
    + }
    + }
    +
    // identical logic lives in FileUtils.rename():
    File parent = destFile.getParentFile();
    if (parent != null && !parent.exists()) {
    @@ -336,13 +349,13 @@ public class Move extends Copy {
    } else if (destFile.isFile()) {
    sourceFile = getFileUtils().normalize(sourceFile.getAbsolutePath()).getCanonicalFile();
    destFile = getFileUtils().normalize(destFile.getAbsolutePath());
    - if (destFile.equals(sourceFile)) {
    + if (destFile.getAbsolutePath().equals(sourceFile.getAbsolutePath())) {
    //no point in renaming a file to its own canonical version...
    log("Rename of " + sourceFile + " to " + destFile
    + " is a no-op.", Project.MSG_VERBOSE);
    return true;
    }
    - if (!(sourceFile.equals(destFile.getCanonicalFile()) || destFile.delete())) {
    + if (!(getFileUtils().areSame(sourceFile, destFile) || destFile.delete())) {
    throw new BuildException("Unable to remove existing file " + destFile);
    }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Parallel.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Parallel.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Parallel.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Parallel.java Mon Dec 13 18:34:00 2010
    @@ -17,7 +17,6 @@
    */
    package org.apache.tools.ant.taskdefs;

    -import java.lang.reflect.Method;
    import java.util.Enumeration;
    import java.util.Vector;
    import java.util.List;
    @@ -350,7 +349,10 @@ public class Parallel extends Task
    interrupted = true;
    }

    - killAll(running);
    + if (!timedOut && !failOnAny) {
    + // https://issues.apache.org/bugzilla/show_bug.cgi?id=49527
    + killAll(running);
    + }
    }

    if (interrupted) {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Property.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Property.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Property.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Property.java Mon Dec 13 18:34:00 2010
    @@ -94,6 +94,7 @@ public class Property extends Task {
    private boolean valueAttributeUsed = false;
    private boolean relative = false;
    private File basedir;
    + private boolean prefixValues = false;

    protected boolean userProperty; // set read-only properties
    // CheckStyle:VisibilityModifier ON
    @@ -294,6 +295,26 @@ public class Property extends Task {
    }

    /**
    + * Whether to apply the prefix when expanding properties on the
    + * right hand side of a properties file as well.
    + *
    + * @since Ant 1.8.2
    + */
    + public void setPrefixValues(boolean b) {
    + prefixValues = b;
    + }
    +
    + /**
    + * Whether to apply the prefix when expanding properties on the
    + * right hand side of a properties file as well.
    + *
    + * @since Ant 1.8.2
    + */
    + public boolean getPrefixValues() {
    + return prefixValues;
    + }
    +
    + /**
    * Sets a reference to an Ant datatype
    * declared elsewhere.
    * Only yields reasonable results for references
    @@ -461,7 +482,7 @@ public class Property extends Task {
    try {
    File from = untypedValue instanceof File ? (File)untypedValue : new File(untypedValue.toString());
    File to = basedir != null ? basedir : getProject().getBaseDir();
    - String relPath = FileUtils.getFileUtils().getRelativePath(to, from);
    + String relPath = FileUtils.getRelativePath(to, from);
    relPath = relPath.replace('/', File.separatorChar);
    addProperty(name, relPath);
    } catch (Exception e) {
    @@ -643,16 +664,10 @@ public class Property extends Task {
    prefix += ".";
    }
    log("Loading Environment " + prefix, Project.MSG_VERBOSE);
    - Vector osEnv = Execute.getProcEnvironment();
    - for (Enumeration e = osEnv.elements(); e.hasMoreElements();) {
    - String entry = (String) e.nextElement();
    - int pos = entry.indexOf('=');
    - if (pos == -1) {
    - log("Ignoring: " + entry, Project.MSG_WARN);
    - } else {
    - props.put(prefix + entry.substring(0, pos),
    - entry.substring(pos + 1));
    - }
    + Map osEnv = Execute.getEnvironmentVariables();
    + for (Iterator e = osEnv.entrySet().iterator(); e.hasNext(); ) {
    + Map.Entry entry = (Map.Entry) e.next();
    + props.put(prefix + entry.getKey(), entry.getValue());
    }
    addProperties(props);
    }
    @@ -716,7 +731,7 @@ public class Property extends Task {
    getProject(),
    propertyHelper,
    propertyHelper.getExpanders())
    - .resolveAllProperties(props, prefix);
    + .resolveAllProperties(props, getPrefix(), getPrefixValues());
    }

    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/PumpStreamHandler.java Mon Dec 13 18:34:00 2010
    @@ -32,23 +32,38 @@ public class PumpStreamHandler implement

    private Thread outputThread;
    private Thread errorThread;
    - private StreamPumper inputPump;
    + private Thread inputThread;

    private OutputStream out;
    private OutputStream err;
    private InputStream input;
    + private final boolean nonBlockingRead;

    /**
    * Construct a new <code>PumpStreamHandler</code>.
    * @param out the output <code>OutputStream</code>.
    * @param err the error <code>OutputStream</code>.
    * @param input the input <code>InputStream</code>.
    + * @param nonBlockingRead set it to <code>true</code> if the input should be
    + * read with simulated non blocking IO.
    */
    public PumpStreamHandler(OutputStream out, OutputStream err,
    - InputStream input) {
    + InputStream input, boolean nonBlockingRead) {
    this.out = out;
    this.err = err;
    this.input = input;
    + this.nonBlockingRead = nonBlockingRead;
    + }
    +
    + /**
    + * Construct a new <code>PumpStreamHandler</code>.
    + * @param out the output <code>OutputStream</code>.
    + * @param err the error <code>OutputStream</code>.
    + * @param input the input <code>InputStream</code>.
    + */
    + public PumpStreamHandler(OutputStream out, OutputStream err,
    + InputStream input) {
    + this(out, err, input, false);
    }

    /**
    @@ -102,7 +117,7 @@ public class PumpStreamHandler implement
    */
    public void setProcessInputStream(OutputStream os) {
    if (input != null) {
    - inputPump = createInputPump(input, os, true);
    + inputThread = createPump(input, os, true, nonBlockingRead);
    } else {
    try {
    os.close();
    @@ -118,9 +133,7 @@ public class PumpStreamHandler implement
    public void start() {
    outputThread.start();
    errorThread.start();
    - if (inputPump != null) {
    - Thread inputThread = new Thread(inputPump);
    - inputThread.setDaemon(true);
    + if (inputThread != null) {
    inputThread.start();
    }
    }
    @@ -129,10 +142,7 @@ public class PumpStreamHandler implement
    * Stop pumping the streams.
    */
    public void stop() {
    -
    - if (inputPump != null) {
    - inputPump.stop();
    - }
    + finish(inputThread);

    try {
    err.flush();
    @@ -159,6 +169,10 @@ public class PumpStreamHandler implement
    * @since Ant 1.8.0
    */
    protected final void finish(Thread t) {
    + if (t == null) {
    + // nothing to terminate
    + return;
    + }
    try {
    StreamPumper s = null;
    if (t instanceof ThreadWithPumper) {
    @@ -241,25 +255,30 @@ public class PumpStreamHandler implement
    */
    protected Thread createPump(InputStream is, OutputStream os,
    boolean closeWhenExhausted) {
    - final Thread result
    - = new ThreadWithPumper(new StreamPumper(is, os,
    - closeWhenExhausted,
    - true));
    - result.setDaemon(true);
    - return result;
    + return createPump(is, os, closeWhenExhausted, true);
    }

    /**
    * Creates a stream pumper to copy the given input stream to the
    - * given output stream. Used for standard input.
    - * @since Ant 1.6.3
    + * given output stream.
    + * @param is the input stream to copy from.
    + * @param os the output stream to copy to.
    + * @param closeWhenExhausted if true close the inputstream.
    + * @param nonBlockingIO set it to <code>true</code> to use simulated non
    + * blocking IO.
    + * @return a thread object that does the pumping, subclasses
    + * should return an instance of {@link ThreadWithPumper
    + * ThreadWithPumper}.
    + * @since Ant 1.8.2
    */
    - /*protected*/ StreamPumper createInputPump(InputStream is, OutputStream os,
    - boolean closeWhenExhausted) {
    - StreamPumper pumper = new StreamPumper(is, os, closeWhenExhausted,
    - false);
    - pumper.setAutoflush(true);
    - return pumper;
    + protected Thread createPump(InputStream is, OutputStream os,
    + boolean closeWhenExhausted, boolean nonBlockingIO) {
    + final Thread result
    + = new ThreadWithPumper(new StreamPumper(is, os,
    + closeWhenExhausted,
    + nonBlockingIO));
    + result.setDaemon(true);
    + return result;
    }

    /**

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Redirector.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Redirector.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Redirector.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Redirector.java Mon Dec 13 18:34:00 2010
    @@ -753,9 +753,9 @@ public class Redirector {
    */
    public ExecuteStreamHandler createHandler() throws BuildException {
    createStreams();
    + boolean nonBlockingRead = input == null && inputString == null;
    return new PumpStreamHandler(getOutputStream(), getErrorStream(),
    - getInputStream());
    -
    + getInputStream(), nonBlockingRead);
    }

    /**
    @@ -843,6 +843,7 @@ public class Redirector {
    errorPrintStream = new PrintStream(errorStream);
    }
    errorPrintStream.print(output);
    + errorPrintStream.flush();
    }
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Replace.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Replace.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Replace.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Replace.java Mon Dec 13 18:34:00 2010
    @@ -22,7 +22,6 @@ import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    -import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/SignJar.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/SignJar.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/SignJar.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/SignJar.java Mon Dec 13 18:34:00 2010
    @@ -378,7 +378,7 @@ public class SignJar extends AbstractJar
    * @throws BuildException
    */
    private void signOneJar(File jarSource, File jarTarget)
    - throws BuildException {
    + throws BuildException {


    File targetFile = jarTarget;
    @@ -401,11 +401,15 @@ public class SignJar extends AbstractJar
    addValue(cmd, value);
    }

    - //DO NOT SET THE -signedjar OPTION if source==dest
    - //unless you like fielding hotspot crash reports
    - if (!jarSource.equals(targetFile)) {
    - addValue(cmd, "-signedjar");
    - addValue(cmd, targetFile.getPath());
    + try {
    + //DO NOT SET THE -signedjar OPTION if source==dest
    + //unless you like fielding hotspot crash reports
    + if (!FILE_UTILS.areSame(jarSource, targetFile)) {
    + addValue(cmd, "-signedjar");
    + addValue(cmd, targetFile.getPath());
    + }
    + } catch (IOException ioex) {
    + throw new BuildException(ioex);
    }

    if (internalsf) {
    @@ -435,7 +439,7 @@ public class SignJar extends AbstractJar

    // restore the lastModified attribute
    if (preserveLastModified) {
    - targetFile.setLastModified(lastModified);
    + FILE_UTILS.setFileLastModified(targetFile, lastModified);
    }
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/VerifyJar.java Mon Dec 13 18:34:00 2010
    @@ -26,7 +26,6 @@ import org.apache.tools.ant.types.Filter
    import org.apache.tools.ant.types.Path;
    import org.apache.tools.ant.types.Resource;
    import org.apache.tools.ant.types.resources.FileProvider;
    -import org.apache.tools.ant.types.resources.FileResource;

    import java.util.Iterator;
    import java.io.File;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java Mon Dec 13 18:34:00 2010
    @@ -336,6 +336,8 @@ public class XSLTProcess extends Matchin
    return;
    }
    try {
    + setupLoader();
    +
    if (sysProperties.size() > 0) {
    sysProperties.setSystem();
    }
    @@ -689,15 +691,26 @@ public class XSLTProcess extends Matchin
    * @exception Exception if the class could not be loaded.
    */
    private Class loadClass(String classname) throws Exception {
    - if (classpath == null) {
    + setupLoader();
    + if (loader == null) {
    return Class.forName(classname);
    }
    - loader = getProject().createClassLoader(classpath);
    - loader.setThreadContextLoader();
    return Class.forName(classname, true, loader);
    }

    /**
    + * If a custom classpath has been defined but no loader created
    + * yet, create the classloader and set it as the context
    + * classloader.
    + */
    + private void setupLoader() {
    + if (classpath != null && loader == null) {
    + loader = getProject().createClassLoader(classpath);
    + loader.setThreadContextLoader();
    + }
    + }
    +
    + /**
    * Specifies the output name for the styled result from the
    * <tt>in</tt> attribute; required if <tt>in</tt> is set
    *
    @@ -910,7 +923,8 @@ public class XSLTProcess extends Matchin
    } else {
    try {
    resolveProcessor(PROCESSOR_TRAX);
    - } catch (Exception e1) { // should not happen
    + } catch (Throwable e1) {
    + e1.printStackTrace();
    handleError(e1);
    }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Zip.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Zip.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Zip.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/Zip.java Mon Dec 13 18:34:00 2010
    @@ -1243,6 +1243,19 @@ public class Zip extends MatchingTask {
    return new ArchiveState(as2.isOutOfDate(), toAdd);
    }

    + /*
    + * This is yet another hacky construct to extend the FileSet[]
    + * getResourcesToAdd method so we can pass the information whether
    + * non-fileset resources have been available to it without having
    + * to move the withEmpty behavior checks (since either would break
    + * subclasses in several ways).
    + */
    + private static ThreadLocal haveNonFileSetResourcesToAdd = new ThreadLocal() {
    + protected Object initialValue() {
    + return Boolean.FALSE;
    + }
    + };
    +
    /**
    * Collect the resources that are newer than the corresponding
    * entries (or missing) in the original archive.
    @@ -1272,48 +1285,55 @@ public class Zip extends MatchingTask {

    Resource[][] initialResources = grabResources(filesets);
    if (isEmpty(initialResources)) {
    - if (needsUpdate && doUpdate) {
    - /*
    - * This is a rather hairy case.
    - *
    - * One of our subclasses knows that we need to update the
    - * archive, but at the same time, there are no resources
    - * known to us that would need to be added. Only the
    - * subclass seems to know what's going on.
    - *
    - * This happens if <jar> detects that the manifest has changed,
    - * for example. The manifest is not part of any resources
    - * because of our support for inline <manifest>s.
    - *
    - * If we invoke createEmptyZip like Ant 1.5.2 did,
    - * we'll loose all stuff that has been in the original
    - * archive (bugzilla report 17780).
    - */
    - return new ArchiveState(true, initialResources);
    - }
    -
    - if (emptyBehavior.equals("skip")) {
    - if (doUpdate) {
    - logWhenWriting(archiveType + " archive " + zipFile
    - + " not updated because no new files were"
    - + " included.", Project.MSG_VERBOSE);
    + if (Boolean.FALSE.equals(haveNonFileSetResourcesToAdd.get())) {
    + if (needsUpdate && doUpdate) {
    + /*
    + * This is a rather hairy case.
    + *
    + * One of our subclasses knows that we need to
    + * update the archive, but at the same time, there
    + * are no resources known to us that would need to
    + * be added. Only the subclass seems to know
    + * what's going on.
    + *
    + * This happens if <jar> detects that the manifest
    + * has changed, for example. The manifest is not
    + * part of any resources because of our support
    + * for inline <manifest>s.
    + *
    + * If we invoke createEmptyZip like Ant 1.5.2 did,
    + * we'll loose all stuff that has been in the
    + * original archive (bugzilla report 17780).
    + */
    + return new ArchiveState(true, initialResources);
    + }
    +
    + if (emptyBehavior.equals("skip")) {
    + if (doUpdate) {
    + logWhenWriting(archiveType + " archive " + zipFile
    + + " not updated because no new files were"
    + + " included.", Project.MSG_VERBOSE);
    + } else {
    + logWhenWriting("Warning: skipping " + archiveType
    + + " archive " + zipFile
    + + " because no files were included.",
    + Project.MSG_WARN);
    + }
    + } else if (emptyBehavior.equals("fail")) {
    + throw new BuildException("Cannot create " + archiveType
    + + " archive " + zipFile
    + + ": no files were included.",
    + getLocation());
    } else {
    - logWhenWriting("Warning: skipping " + archiveType
    - + " archive " + zipFile
    - + " because no files were included.",
    - Project.MSG_WARN);
    - }
    - } else if (emptyBehavior.equals("fail")) {
    - throw new BuildException("Cannot create " + archiveType
    - + " archive " + zipFile
    - + ": no files were included.",
    - getLocation());
    - } else {
    - // Create.
    - if (!zipFile.exists()) {
    - needsUpdate = true;
    + // Create.
    + if (!zipFile.exists()) {
    + needsUpdate = true;
    + }
    }
    }
    +
    + // either there are non-fileset resources or we
    + // (re-)create the archive anyway
    return new ArchiveState(needsUpdate, initialResources);
    }

    @@ -1429,7 +1449,9 @@ public class Zip extends MatchingTask {
    */

    Resource[][] initialResources = grabNonFileSetResources(rcs);
    - if (isEmpty(initialResources)) {
    + boolean empty = isEmpty(initialResources);
    + haveNonFileSetResourcesToAdd.set(Boolean.valueOf(!empty));
    + if (empty) {
    // no emptyBehavior handling since the FileSet version
    // will take care of it.
    return new ArchiveState(needsUpdate, initialResources);
    @@ -1934,6 +1956,7 @@ public class Zip extends MatchingTask {
    resources.removeElement(zf);
    }
    filesetsFromGroupfilesets.removeAllElements();
    + haveNonFileSetResourcesToAdd.set(Boolean.FALSE);
    }

    /**

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/CompilerAdapterFactory.java Mon Dec 13 18:34:00 2010
    @@ -119,7 +119,8 @@ public final class CompilerAdapterFactor
    compilerType.equalsIgnoreCase("javac1.3")
    compilerType.equalsIgnoreCase("javac1.4")
    compilerType.equalsIgnoreCase("javac1.5")
    - || compilerType.equalsIgnoreCase("javac1.6")) {
    + || compilerType.equalsIgnoreCase("javac1.6")
    + || compilerType.equalsIgnoreCase("javac1.7")) {
    // does the modern compiler exist?
    if (doesModernCompilerExist()) {
    return new Javac13();

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java Mon Dec 13 18:34:00 2010
    @@ -44,8 +44,18 @@ import org.apache.tools.ant.taskdefs.con
    *
    * @since Ant 1.3
    */
    -public abstract class DefaultCompilerAdapter implements CompilerAdapter {
    - private static final int COMMAND_LINE_LIMIT = 4096; // 4K
    +public abstract class DefaultCompilerAdapter
    + implements CompilerAdapter, CompilerAdapterExtension {
    +
    + private static final int COMMAND_LINE_LIMIT;
    + static {
    + if (Os.isFamily("os/2")) {
    + // OS/2 CMD.EXE has a much smaller limit around 1K
    + COMMAND_LINE_LIMIT = 1000;
    + } else {
    + COMMAND_LINE_LIMIT = 4096; // 4K
    + }
    + }
    // CheckStyle:VisibilityModifier OFF - bc

    private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
    @@ -120,6 +130,15 @@ public abstract class DefaultCompilerAda
    }

    /**
    + * By default, only recognize files with a Java extension,
    + * but specialized compilers can recognize multiple kinds
    + * of files.
    + */
    + public String[] getSupportedFileExtensions() {
    + return new String[] { "java" };
    + }
    +
    + /**
    * Get the project this compiler adapter was created in.
    * @return the owner project
    * @since Ant 1.6
    @@ -324,13 +343,12 @@ public abstract class DefaultCompilerAda
    String source = attributes.getSource();
    if (source.equals("1.1") || source.equals("1.2")) {
    // support for -source 1.1 and -source 1.2 has been
    - // added with JDK 1.4.2 - and isn't present in 1.5.0
    - // or 1.6.0 either
    + // added with JDK 1.4.2 - and isn't present in 1.5.0+
    cmd.createArgument().setValue("1.3");
    } else {
    cmd.createArgument().setValue(source);
    }
    - } else if ((assumeJava15() || assumeJava16())
    + } else if ((assumeJava15() || assumeJava16() || assumeJava17())
    && attributes.getTarget() != null) {
    String t = attributes.getTarget();
    if (t.equals("1.1") || t.equals("1.2") || t.equals("1.3")
    @@ -340,19 +358,12 @@ public abstract class DefaultCompilerAda
    // 1.5.0 doesn't support -source 1.1
    s = "1.2";
    }
    - attributes.log("", Project.MSG_WARN);
    - attributes.log(" WARNING", Project.MSG_WARN);
    - attributes.log("", Project.MSG_WARN);
    - attributes.log("The -source switch defaults to 1.5 in JDK 1.5 and 1.6.",
    - Project.MSG_WARN);
    - attributes.log("If you specify -target " + t
    - + " you now must also specify -source " + s
    - + ".", Project.MSG_WARN);
    - attributes.log("Ant will implicitly add -source " + s
    - + " for you. Please change your build file.",
    - Project.MSG_WARN);
    - cmd.createArgument().setValue("-source");
    - cmd.createArgument().setValue(s);
    + setImplicitSourceSwitch((assumeJava15() || assumeJava16())
    + ? "1.5 in JDK 1.5 and 1.6"
    + : "1.7 in JDK 1.7",
    + cmd, s, t);
    + } else if (assumeJava17() && (t.equals("1.5") || t.equals("1.6"))) {
    + setImplicitSourceSwitch("1.7 in JDK 1.7", cmd, t, t);
    }
    }
    return cmd;
    @@ -612,6 +623,21 @@ public abstract class DefaultCompilerAda
    }

    /**
    + * Shall we assume JDK 1.7 command line switches?
    + * @return true if JDK 1.7
    + * @since Ant 1.8.2
    + */
    + protected boolean assumeJava17() {
    + return "javac1.7".equals(attributes.getCompilerVersion())
    + || ("classic".equals(attributes.getCompilerVersion())
    + && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_7))
    + || ("modern".equals(attributes.getCompilerVersion())
    + && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_7))
    + || ("extJavac".equals(attributes.getCompilerVersion())
    + && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_7));
    + }
    +
    + /**
    * Combines a user specified bootclasspath with the system
    * bootclasspath taking build.sysclasspath into account.
    *
    @@ -639,5 +665,23 @@ public abstract class DefaultCompilerAda
    protected String getNoDebugArgument() {
    return assumeJava11() ? null : "-g:none";
    }
    +
    + private void setImplicitSourceSwitch(String defaultDetails, Commandline cmd,
    + String target, String source) {
    + attributes.log("", Project.MSG_WARN);
    + attributes.log(" WARNING", Project.MSG_WARN);
    + attributes.log("", Project.MSG_WARN);
    + attributes.log("The -source switch defaults to " + defaultDetails + ".",
    + Project.MSG_WARN);
    + attributes.log("If you specify -target " + target
    + + " you now must also specify -source " + source
    + + ".", Project.MSG_WARN);
    + attributes.log("Ant will implicitly add -source " + source
    + + " for you. Please change your build file.",
    + Project.MSG_WARN);
    + cmd.createArgument().setValue("-source");
    + cmd.createArgument().setValue(source);
    + }
    +
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/condition/Matches.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/condition/Matches.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/condition/Matches.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/condition/Matches.java Mon Dec 13 18:34:00 2010
    @@ -19,9 +19,9 @@ package org.apache.tools.ant.taskdefs.co

    import org.apache.tools.ant.BuildException;
    import org.apache.tools.ant.ProjectComponent;
    -import org.apache.tools.ant.util.regexp.Regexp;
    import org.apache.tools.ant.types.RegularExpression;
    -import org.apache.tools.ant.util.regexp.RegexpMatcher;
    +import org.apache.tools.ant.util.regexp.Regexp;
    +import org.apache.tools.ant.util.regexp.RegexpUtil;

    /**
    * Simple regular expression condition.
    @@ -112,16 +112,7 @@ public class Matches extends ProjectComp
    if (regularExpression == null) {
    throw new BuildException("Missing pattern in matches.");
    }
    - int options = RegexpMatcher.MATCH_DEFAULT;
    - if (!caseSensitive) {
    - options = options | RegexpMatcher.MATCH_CASE_INSENSITIVE;
    - }
    - if (multiLine) {
    - options = options | RegexpMatcher.MATCH_MULTILINE;
    - }
    - if (singleLine) {
    - options = options | RegexpMatcher.MATCH_SINGLELINE;
    - }
    + int options = RegexpUtil.asOptions(caseSensitive, multiLine, singleLine);
    Regexp regexp = regularExpression.getRegexp(getProject());
    return regexp.matches(string, options);
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/defaults.properties
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/defaults.properties?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/defaults.properties (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/defaults.properties Mon Dec 13 18:34:00 2010
    @@ -23,6 +23,7 @@ apt=org.apache.tools.ant.taskdefs.Apt
    augment=org.apache.tools.ant.taskdefs.AugmentReference
    available=org.apache.tools.ant.taskdefs.Available
    basename=org.apache.tools.ant.taskdefs.Basename
    +bindtargets=org.apache.tools.ant.taskdefs.BindTargets
    buildnumber=org.apache.tools.ant.taskdefs.BuildNumber
    bunzip2=org.apache.tools.ant.taskdefs.BUnzip2
    bzip2=org.apache.tools.ant.taskdefs.BZip2
    @@ -81,6 +82,7 @@ parallel=org.apache.tools.ant.taskdefs.P
    patch=org.apache.tools.ant.taskdefs.Patch
    pathconvert=org.apache.tools.ant.taskdefs.PathConvert
    presetdef=org.apache.tools.ant.taskdefs.PreSetDef
    +projecthelper=org.apache.tools.ant.taskdefs.ProjectHelperTask
    property=org.apache.tools.ant.taskdefs.Property
    propertyhelper=org.apache.tools.ant.taskdefs.PropertyHelperTask
    record=org.apache.tools.ant.taskdefs.Recorder

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/email/EmailTask.java Mon Dec 13 18:34:00 2010
    @@ -69,7 +69,7 @@ public class EmailTask extends Task {
    private String encoding = AUTO;
    /** host running SMTP */
    private String host = "localhost";
    - private int port = SMTP_PORT;
    + private Integer port = null;
    /** subject field */
    private String subject = null;
    /** any text */
    @@ -161,7 +161,7 @@ public class EmailTask extends Task {
    * @param port The port to use.
    */
    public void setMailport(int port) {
    - this.port = port;
    + this.port = new Integer(port);
    }

    /**
    @@ -549,7 +549,13 @@ public class EmailTask extends Task {

    // pass the params to the mailer
    mailer.setHost(host);
    - mailer.setPort(port);
    + if (port != null) {
    + mailer.setPort(port.intValue());
    + mailer.setPortExplicitlySpecified(true);
    + } else {
    + mailer.setPort(SMTP_PORT);
    + mailer.setPortExplicitlySpecified(false);
    + }
    mailer.setUser(user);
    mailer.setPassword(password);
    mailer.setSSL(ssl);
  • Antoine at Dec 13, 2010 at 6:35 pm
    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-swing/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-swing/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-swing/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-swing/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,18 +27,19 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-swing</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Swing</name>
    <description>a listener and a splash task based on Swing</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    </dependencies>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-testutil/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-testutil/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-testutil/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-testutil/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,18 +27,19 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-testutil</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant Test Utilities</name>
    <description>test utility classes</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,19 +27,18 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    - <name>org.apache.tools.ant</name>
    - <description>Apache Ant</description>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant Core</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-launcher</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    </dependencies>
    @@ -93,27 +92,36 @@
    <source>1.4</source>
    <target>1.4</target>
    <excludes>
    - <exclude>org/apache/tools/ant/taskdefs/optional/**</exclude>
    <exclude>org/apache/tools/ant/filters/util/JavaClassHelper*</exclude>
    - <exclude>org/apache/tools/ant/types/optional/**</exclude>
    <exclude>org/apache/tools/ant/types/resolver/**</exclude>
    - <exclude>org/apache/tools/ant/util/ScriptRunner.java</exclude>
    - <exclude>org/apache/tools/ant/util/depend/**</exclude>
    - <exclude>org/apache/tools/ant/util/optional/**</exclude>
    <exclude>org/apache/tools/ant/listener/Log4jListener*</exclude>
    <exclude>org/apache/tools/ant/listener/CommonsLoggingListener*</exclude>
    <exclude>org/apache/tools/ant/util/regexp/JakartaRegexp*</exclude>
    <exclude>org/apache/tools/ant/util/regexp/JakartaOro*</exclude>
    <exclude>org/apache/tools/ant/taskdefs/email/MimeMailer*</exclude>
    <exclude>org/apache/tools/ant/launch/**</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/net/FTP*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/net/RExec*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/net/TelnetTask*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/perforce/*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/junit/*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/ssh/*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/image/*</exclude>
    + <exclude>org/apache/tools/ant/types/optional/image/*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/Script*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/script/**</exclude>
    + <exclude>org/apache/tools/ant/types/optional/*Script*</exclude>
    + <exclude>org/apache/tools/ant/util/ScriptRunner.java</exclude>
    + <exclude>org/apache/tools/ant/util/optional/ScriptRunner.java</exclude>
    + <exclude>org/apache/tools/ant/filters/util/JavaClassHelper*</exclude>
    + <exclude>org/apache/tools/ant/util/depend/bcel/*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/NetRexxC*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/Xalan2TraceSupport*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/jdepend/*</exclude>
    </excludes>
    <testExcludes>
    - <exclude>org/apache/tools/ant/taskdefs/optional/**</exclude>
    <exclude>org/apache/tools/ant/filters/util/JavaClassHelper*</exclude>
    - <exclude>org/apache/tools/ant/types/optional/**</exclude>
    <exclude>org/apache/tools/ant/types/resolver/**</exclude>
    - <exclude>org/apache/tools/ant/util/depend/**</exclude>
    - <exclude>org/apache/tools/ant/util/optional/**</exclude>
    <exclude>org/apache/tools/ant/util/Script*</exclude>
    <exclude>org/apache/tools/ant/listener/Log4jListener*</exclude>
    <exclude>org/apache/tools/ant/listener/CommonsLoggingListener*</exclude>
    @@ -123,6 +131,10 @@
    <exclude>org/apache/tools/ant/taskdefs/email/MimeMailer*</exclude>
    <exclude>org/apache/tools/ant/launch/**</exclude>
    <exclude>org/apache/tools/ant/taskdefs/StyleTest*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/junit/</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/net/FTP*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/ssh/*</exclude>
    + <exclude>org/apache/tools/ant/taskdefs/optional/perforce/*</exclude>
    </testExcludes>
    </configuration>
    </plugin>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/pom.xml Mon Dec 13 18:34:00 2010
    @@ -25,14 +25,22 @@ xsi:schemaLocation="http://maven.apache.
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <packaging>pom</packaging>
    <description>master POM</description>
    + <licenses>
    + <license>
    + <name>The Apache Software License, Version 2.0</name>
    + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    + <distribution>repo</distribution>
    + </license>
    + </licenses>
    <name>Apache Ant</name>
    <url>http://ant.apache.org/</url>
    <inceptionYear>2000</inceptionYear>
    <organization>
    - <name>Apache Software Foundation</name>
    + <name>The Apache Software Foundation</name>
    + <url>http://www.apache.org/</url>
    </organization>
    <distributionManagement>
    <!-- Null out inherited apache distribution repo by default -->
    @@ -44,9 +52,13 @@ xsi:schemaLocation="http://maven.apache.
    </distributionManagement>
    <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/ant/core/trunk</connection>
    - <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jant/core/trunk</developerConnection>
    + <developerConnection>scm:svn:https://svn.apache.org/repos/asf/ant/core/trunk</developerConnection>
    <url>http://svn.apache.org/repos/asf/ant/core/trunk</url>
    </scm>
    + <ciManagement>
    + <system>hudson</system>
    + <url>https://hudson.apache.org/hudson/job/Ant_BuildFromPOMs/</url>
    + </ciManagement>
    <mailingLists>
    <mailingList>
    <name>Ant Developers List</name>
    @@ -85,9 +97,9 @@ xsi:schemaLocation="http://maven.apache.
    <module>ant-jmf</module>
    <module>ant-jsch</module>
    <module>ant-junit</module>
    + <module>ant-junit4</module>
    <module>ant-launcher</module>
    <module>ant-netrexx</module>
    - <module>ant-nodeps</module>
    <module>ant-swing</module>
    <module>ant-testutil</module>
    </modules>

    Modified: ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/concat.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/concat.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/concat.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/concat.xml Mon Dec 13 18:34:00 2010
    @@ -110,7 +110,16 @@
    <touch file="${tmp.file.2}"/>
    <!-- concat.xml is now older than tmp.file.2
    so the following should not do anything -->
    - <concat destfile="${tmp.file.2}" force="false">
    + <concat destfile="${tmp.file.2}" overwrite="false">
    + <path path="concat.xml"/>
    + </concat>
    + </target>
    +
    + <target name="testoverwrite">
    + <touch file="${tmp.file.2}"/>
    + <!-- concat.xml is now older than tmp.file.2
    + so the following should still overwrite it -->
    + <concat destfile="${tmp.file.2}" overwrite="true">
    <path path="concat.xml"/>
    </concat>
    </target>

    Modified: ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/conditions/antversion.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/conditions/antversion.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/conditions/antversion.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/conditions/antversion.xml Mon Dec 13 18:34:00 2010
    @@ -32,10 +32,10 @@
    <fail>
    <condition>
    <not>
    - <antversion exactly="1.8.1" />
    + <antversion exactly="1.8.2" />
    </not>
    </condition>
    - Should be exactly 1.8.1
    + Should be exactly 1.8.2

    </fail>
    </target>

    Modified: ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/optional/junit.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/optional/junit.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/optional/junit.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/optional/junit.xml Mon Dec 13 18:34:00 2010
    @@ -104,7 +104,9 @@

    <target name="captureToSummary">
    <property name="fork" value="true"/>
    - <junit fork="${fork}" printSummary="withOutAndErr">
    + <property name="enableEvents" value="false"/>
    + <junit fork="${fork}" printSummary="withOutAndErr"
    + enableTestListenerEvents="${enableEvents}">
    <test name="org.apache.tools.ant.taskdefs.optional.junit.Printer"/>
    <classpath refid="test"/>
    </junit>

    Modified: ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/signjar.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/signjar.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/signjar.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/testcases/taskdefs/signjar.xml Mon Dec 13 18:34:00 2010
    @@ -22,8 +22,8 @@
    <property name="subdir" location="${sign.dir}/subdir" />
    <property name="test.jar" location="${sign.dir}/signtest.jar" />
    <property name="subdirtest.jar" location="${subdir}/signtest.jar" />
    -
    -
    +
    +
    <macrodef name="assertSigned">
    <attribute name="jar" default="${test.jar}" />
    <sequential>
    @@ -46,7 +46,7 @@
    </presetdef>


    -
    +
    <presetdef name="sign">
    <sign-base jar="${test.jar}" />
    </presetdef>
    @@ -55,13 +55,13 @@
    <mkdir dir="${sign.dir}" />
    <mkdir dir="${subdir}" />
    </target>
    -
    +
    <target name="jar" depends="init">
    <jar jarfile="${test.jar}" basedir="${classes.dir}" includes="**/Task.class"/>
    - </target>
    + </target>
    +
    +

    -
    -
    <target name="clean">
    <delete dir="${sign.dir}"/>
    </target>
    @@ -69,226 +69,37 @@
    <target name="help">
    <echo>This build is for use with Ant's test cases</echo>
    </target>
    -
    +
    <target name="basic" depends="jar">
    <sign />
    - <assertSigned/>
    + <assertSigned/>
    </target>

    <target name="sigfile" depends="jar">
    <sign sigfile="TEST"/>
    - <assertSigned/>
    + <assertSigned/>
    </target>

    <target name="invalidchars" depends="jar">
    <sign alias="test@nly"/>
    - <assertSigned/>
    - </target>
    -
    - <target name="maxmemory" depends="jar">
    - <sign maxmemory="128m"/>
    - <assertSigned/>
    + <assertSigned/>
    </target>

    <target name="urlKeystoreFile" depends="jar">
    <sign keystore="file://../testkeystore"
    maxmemory="128m"/>
    - <assertSigned/>
    + <assertSigned/>
    </target>

    -
    <target name="urlKeystoreHTTP" depends="jar">
    <sign
    keystore="http://ant.apache.org/webtest/testkeystore"
    />
    - <assertSigned/>
    - </target>
    -
    - <target name="preserveLastModified" depends="jar">
    - <touch file="${test.jar}" datetime="06/28/2000 2:02 pm"/>
    - <sign
    - preservelastmodified="true"/>
    - <assertSigned />
    - <fail message="preserveLastModified did not preserve the last modified time">
    - <condition>
    - <not>
    - <isfileselected file="${test.jar}" >
    - <date datetime="06/28/2000 2:02 pm" when="equal"/>
    - </isfileselected>
    - </not>
    - </condition>
    - </fail>
    - </target>
    -
    - <target name="testFileset" depends="jar">
    - <sign-base>
    - <fileset file="${test.jar}" />
    - </sign-base>
    - <assertSigned/>
    - </target>
    -
    - <target name="testFilesetAndJar" depends="jar">
    - <sign-base jar="${test.jar}" lazy="true">
    - <fileset file="${test.jar}" />
    - </sign-base>
    - <assertSigned/>
    - </target>
    -
    - <target name="testFilesetAndSignedJar" depends="jar">
    - <sign-base signedjar="${sign.dir}/newfile.jar">
    - <fileset file="${test.jar}" />
    - </sign-base>
    - </target>
    -
    - <target name="testPath" depends="jar">
    - <sign-base>
    - <path>
    - <fileset file="${test.jar}" />
    - </path>
    - </sign-base>
    <assertSigned/>
    </target>

    - <target name="testPathAndJar" depends="jar">
    - <sign-base jar="${test.jar}" lazy="true">
    - <path>
    - <fileset file="${test.jar}" />
    - </path>
    - </sign-base>
    - <assertSigned/>
    - </target>
    -
    - <target name="testPathAndSignedJar" depends="jar">
    - <sign-base signedjar="${sign.dir}/newfile.jar">
    - <path>
    - <fileset file="${test.jar}" />
    - </path>
    - </sign-base>
    - </target>
    -
    - <target name="testSignedJar" depends="jar">
    - <sign signedjar="${subdirtest.jar}"/>
    - <assertSigned jar="${subdirtest.jar}"/>
    - </target>
    -
    - <target name="testDestDirAndSignedJar" depends="jar">
    - <sign destDir="${subdir}" signedjar="${sign.dir}/newfile.jar"/>
    - </target>
    -
    - <target name="testDestDir" depends="jar">
    - <sign destDir="${subdir}" />
    - <assertSigned jar="${subdirtest.jar}"/>
    - </target>
    -
    - <target name="testDestDirFileset" depends="jar">
    - <sign-base destDir="${subdir}">
    - <fileset file="${test.jar}" />
    - </sign-base>
    - <assertSigned jar="${subdirtest.jar}"/>
    - </target>
    -
    - <target name="testDestDirPath" depends="jar">
    - <sign-base destDir="${subdir}">
    - <path>
    - <fileset file="${test.jar}" />
    - </path>
    - </sign-base>
    - <assertSigned jar="${subdirtest.jar}"/>
    - </target>
    -
    - <target name="testMapperNoDest" depends="jar">
    - <sign-base >
    - <flattenmapper />
    - <fileset file="${test.jar}" />
    - </sign-base>
    - </target>
    -
    - <target name="testMapperFileset" depends="jar">
    - <sign-base destDir="${subdir}">
    - <fileset file="${test.jar}" />
    - <flattenmapper />
    - </sign-base>
    - <assertSigned jar="${subdirtest.jar}"/>
    - </target>
    -
    - <target name="testMapperPath" depends="jar">
    - <sign-base destDir="${subdir}">
    - <path>
    - <pathelement location="${test.jar}" />
    - </path>
    - <flattenmapper />
    - </sign-base>
    - <assertSigned jar="${subdirtest.jar}"/>
    - </target>
    -
    - <target name="testTwoMappers" depends="jar">
    - <sign-base destDir="${subdir}">
    - <fileset file="${test.jar}" />
    - <flattenmapper />
    - <flattenmapper />
    - </sign-base>
    - </target>
    -
    - <target name="testNoAlias" depends="jar">
    - <signjar keystore="testkeystore"
    - jar="${test.jar}"
    - storepass="apacheant"/>
    - </target>
    -
    - <target name="testNoFiles" >
    - <sign-base />
    - </target>
    -
    - <target name="testNoStorePass" depends="jar">
    - <signjar keystore="testkeystore"
    - alias="testonly"
    - jar="${test.jar}"/>
    - </target>
    -
    <target name="testTsaLocalhost" depends="jar">
    <sign tsaurl="http://localhost:0/" />
    </target>
    -
    - <target name="testSysProperty" depends="jar">
    - <sign>
    - <sysproperty key="ant.home" value="${ant.home}" />
    - </sign>
    - <assertSigned/>
    - </target>
    -
    - <target name="testVerifyJar" depends="basic">
    - <verify-base jar="${test.jar}"/>
    - </target>
    -
    - <target name="testVerifyJarCertificates" depends="basic">
    - <verify-base jar="${test.jar}" certificates="true" verbose="true"/>
    - </target>
    -
    - <target name="testVerifyJarUnsigned" depends="jar">
    - <verify-base jar="${test.jar}"/>
    - </target>
    -
    - <target name="testVerifyJarNotInKeystore" depends="basic">
    - <verifyjar jar="${test.jar}" certificates="true" verbose="true"/>
    - </target>
    -
    - <target name="testVerifyFileset" depends="basic">
    - <verify-base >
    - <fileset file="${test.jar}" />
    - </verify-base>
    - </target>

    - <target name="testVerifyPath" depends="basic">
    - <verify-base >
    - <path>
    - <pathelement location="${test.jar}" />
    - </path>
    - </verify-base>
    - </target>
    -
    - <target name="testVerifyNoArgs">
    - <verify-base />
    - </target>
    -
    </project>
    -

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ComponentHelper.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ComponentHelper.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ComponentHelper.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ComponentHelper.java Mon Dec 13 18:34:00 2010
    @@ -1096,11 +1096,6 @@ public class ComponentHelper {
    return getTypeClass((String) key);
    }

    - Object create(String name) {
    - AntTypeDefinition def = getDefinition(name);
    - return (def == null) ? null : def.create(project);
    - }
    -
    Class getTypeClass(String name) {
    AntTypeDefinition def = getDefinition(name);
    return (def == null) ? null : def.getTypeClass(project);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DemuxInputStream.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DemuxInputStream.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DemuxInputStream.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DemuxInputStream.java Mon Dec 13 18:34:00 2010
    @@ -30,6 +30,7 @@ import java.io.InputStream;
    */
    public class DemuxInputStream extends InputStream {

    + private static final int MASK_8BIT = 0xFF;
    /**
    * The project to from which to get input.
    */
    @@ -54,7 +55,7 @@ public class DemuxInputStream extends In
    if (project.demuxInput(buffer, 0, 1) == -1) {
    return -1;
    }
    - return buffer[0];
    + return buffer[0] & MASK_8BIT;
    }



    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Diagnostics.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Diagnostics.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Diagnostics.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Diagnostics.java Mon Dec 13 18:34:00 2010
    @@ -17,7 +17,6 @@
    */
    package org.apache.tools.ant;

    -import org.apache.tools.ant.util.LoaderUtils;
    import org.apache.tools.ant.util.FileUtils;
    import org.apache.tools.ant.util.JAXPUtils;
    import org.apache.tools.ant.util.ProxySetup;
    @@ -72,7 +71,6 @@ public final class Diagnostics {
    private static final int SECONDS_PER_MILLISECOND = 1000;
    private static final int SECONDS_PER_MINUTE = 60;
    private static final int MINUTES_PER_HOUR = 60;
    - private static final String TEST_CLASS = "org.apache.tools.ant.taskdefs.optional.EchoProperties";

    /**
    * The error text when a security manager blocks access to a property.
    @@ -87,42 +85,19 @@ public final class Diagnostics {
    }

    /**
    - * Check if optional tasks are available. Not that it does not check
    - * for implementation version. Use <tt>validateVersion()</tt> for this.
    - * @return <tt>true</tt> if optional tasks are available.
    + * Doesn't do anything.
    + * @deprecated Obsolete since Ant 1.8.2
    + * @return <tt>true</tt>
    */
    public static boolean isOptionalAvailable() {
    - try {
    - Class.forName(TEST_CLASS);
    - } catch (ClassNotFoundException e) {
    - return false;
    - }
    return true;
    }

    /**
    - * Check if core and optional implementation version do match.
    - * @throws BuildException if the implementation version of optional tasks
    - * does not match the core implementation version.
    + * Doesn't do anything.
    + * @deprecated Obsolete since Ant 1.8.2
    */
    public static void validateVersion() throws BuildException {
    - try {
    - Class optional = Class.forName(TEST_CLASS);
    - String coreVersion = getImplementationVersion(Main.class);
    - String optionalVersion = getImplementationVersion(optional);
    -
    - if (coreVersion != null && !coreVersion.equals(optionalVersion)) {
    - throw new BuildException("Invalid implementation version "
    - + "between Ant core and Ant optional tasks.\n"
    - + " core : " + coreVersion + " in "
    - + getClassLocation(Main.class)
    - + "\n" + " optional: " + optionalVersion + " in "
    - + getClassLocation(optional));
    - }
    - } catch (ClassNotFoundException e) {
    - // ignore
    - ignoreThrowable(e);
    - }
    }

    /**
    @@ -332,16 +307,6 @@ public final class Diagnostics {
    out.println("core tasks : " + getImplementationVersion(Main.class)
    + " in " + getClassLocation(Main.class));

    - Class optional = null;
    - try {
    - optional = Class.forName(TEST_CLASS);
    - out.println("optional tasks : " + getImplementationVersion(optional)
    - + " in " + getClassLocation(optional));
    - } catch (ClassNotFoundException e) {
    - ignoreThrowable(e);
    - out.println("optional tasks : not available");
    - }
    -
    header(out, "ANT PROPERTIES");
    doReportAntProperties(out);

    @@ -433,6 +398,12 @@ public final class Diagnostics {
    out.println(MagicNames.ANT_VERSION + ": " + p.getProperty(MagicNames.ANT_VERSION));
    out.println(MagicNames.ANT_JAVA_VERSION + ": "
    + p.getProperty(MagicNames.ANT_JAVA_VERSION));
    + out.println("Is this the Apache Harmony VM? "
    + + (JavaEnvUtils.isApacheHarmony() ? "yes" : "no"));
    + out.println("Is this the Kaffe VM? "
    + + (JavaEnvUtils.isKaffe() ? "yes" : "no"));
    + out.println("Is this gij/gcj? "
    + + (JavaEnvUtils.isGij() ? "yes" : "no"));
    out.println(MagicNames.ANT_LIB + ": " + p.getProperty(MagicNames.ANT_LIB));
    out.println(MagicNames.ANT_HOME + ": " + p.getProperty(MagicNames.ANT_HOME));
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DirectoryScanner.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DirectoryScanner.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DirectoryScanner.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/DirectoryScanner.java Mon Dec 13 18:34:00 2010
    @@ -20,7 +20,6 @@ package org.apache.tools.ant;

    import java.io.File;
    import java.io.IOException;
    -import java.lang.ref.SoftReference;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.HashMap;
    @@ -170,6 +169,26 @@ public class DirectoryScanner
    SelectorUtils.DEEP_TREE_MATCH + "/.svn",
    SelectorUtils.DEEP_TREE_MATCH + "/.svn/" + SelectorUtils.DEEP_TREE_MATCH,

    + // Git
    + SelectorUtils.DEEP_TREE_MATCH + "/.git",
    + SelectorUtils.DEEP_TREE_MATCH + "/.git/" + SelectorUtils.DEEP_TREE_MATCH,
    + SelectorUtils.DEEP_TREE_MATCH + "/.gitattributes",
    + SelectorUtils.DEEP_TREE_MATCH + "/.gitignore",
    + SelectorUtils.DEEP_TREE_MATCH + "/.gitmodules",
    +
    + // Mercurial
    + SelectorUtils.DEEP_TREE_MATCH + "/.hg",
    + SelectorUtils.DEEP_TREE_MATCH + "/.hg/" + SelectorUtils.DEEP_TREE_MATCH,
    + SelectorUtils.DEEP_TREE_MATCH + "/.hgignore",
    + SelectorUtils.DEEP_TREE_MATCH + "/.hgsub",
    + SelectorUtils.DEEP_TREE_MATCH + "/.hgsubstate",
    + SelectorUtils.DEEP_TREE_MATCH + "/.hgtags",
    +
    + // Bazaar
    + SelectorUtils.DEEP_TREE_MATCH + "/.bzr",
    + SelectorUtils.DEEP_TREE_MATCH + "/.bzr/" + SelectorUtils.DEEP_TREE_MATCH,
    + SelectorUtils.DEEP_TREE_MATCH + "/.bzrignore",
    +
    // Mac
    SelectorUtils.DEEP_TREE_MATCH + "/.DS_Store"
    };
    @@ -1228,7 +1247,7 @@ public class DirectoryScanner
    TokenizedPath newPath = new TokenizedPath(path, newfiles[i]);
    File file = new File(dir, newfiles[i]);
    String[] children = file.list();
    - if (children == null) { // probably file
    + if (children == null || (children.length == 0 && file.isFile())) {
    if (isIncluded(newPath)) {
    accountForIncludedFile(newPath, file);
    } else {
    @@ -1255,7 +1274,8 @@ public class DirectoryScanner
    } else {
    everythingIncluded = false;
    dirsNotIncluded.addElement(name);
    - if (fast && couldHoldIncluded(newPath)) {
    + if (fast && couldHoldIncluded(newPath)
    + && !contentsExcluded(newPath)) {
    scandir(file, newPath, fast, children,
    directoryNamesFollowed);
    }
    @@ -1458,7 +1478,7 @@ public class DirectoryScanner
    * @param path the path to check.
    * @return whether all the specified directory's contents are excluded.
    */
    - private boolean contentsExcluded(TokenizedPath path) {
    + /* package */ boolean contentsExcluded(TokenizedPath path) {
    for (int i = 0; i < excludePatterns.length; i++) {
    if (excludePatterns[i].endsWith(SelectorUtils.DEEP_TREE_MATCH)
    && excludePatterns[i].withoutLastToken()
    @@ -1783,7 +1803,7 @@ public class DirectoryScanner
    *
    * @since Ant 1.6.3
    */
    - private synchronized void ensureNonPatternSetsReady() {
    + /* package */ synchronized void ensureNonPatternSetsReady() {
    if (!areNonPatternSetsReady) {
    includePatterns = fillNonPatternSet(includeNonPatterns, includes);
    excludePatterns = fillNonPatternSet(excludeNonPatterns, excludes);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Main.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Main.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Main.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Main.java Mon Dec 13 18:34:00 2010
    @@ -20,7 +20,6 @@ package org.apache.tools.ant;

    import java.io.File;
    import java.io.FileInputStream;
    -import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    @@ -37,6 +36,7 @@ import java.util.Vector;
    import org.apache.tools.ant.input.DefaultInputHandler;
    import org.apache.tools.ant.input.InputHandler;
    import org.apache.tools.ant.launch.AntMain;
    +import org.apache.tools.ant.property.ResolvePropertyMap;
    import org.apache.tools.ant.util.ClasspathUtils;
    import org.apache.tools.ant.util.FileUtils;
    import org.apache.tools.ant.util.ProxySetup;
    @@ -193,7 +193,6 @@ public class Main implements AntMain {
    ClassLoader coreLoader) {

    try {
    - Diagnostics.validateVersion();
    processArgs(args);
    } catch (Throwable exc) {
    handleLogfile();
    @@ -763,12 +762,20 @@ public class Main implements AntMain {

    project.init();

    + // resolve properties
    + PropertyHelper propertyHelper
    + = (PropertyHelper) PropertyHelper.getPropertyHelper(project);
    + HashMap props = new HashMap(definedProps);
    + new ResolvePropertyMap(project, propertyHelper,
    + propertyHelper.getExpanders())
    + .resolveAllProperties(props, null, false);
    +
    // set user-define properties
    - Enumeration e = definedProps.keys();
    - while (e.hasMoreElements()) {
    - String arg = (String) e.nextElement();
    - String value = (String) definedProps.get(arg);
    - project.setUserProperty(arg, value);
    + for (Iterator e = props.entrySet().iterator(); e.hasNext(); ) {
    + Map.Entry ent = (Map.Entry) e.next();
    + String arg = (String) ent.getKey();
    + Object value = ent.getValue();
    + project.setUserProperty(arg, String.valueOf(value));
    }

    project.setUserProperty(MagicNames.ANT_FILE,
    @@ -787,7 +794,8 @@ public class Main implements AntMain {

    if (projectHelp) {
    printDescription(project);
    - printTargets(project, msgOutputLevel > Project.MSG_INFO);
    + printTargets(project, msgOutputLevel > Project.MSG_INFO,
    + msgOutputLevel > Project.MSG_VERBOSE);
    return;
    }

    @@ -1001,7 +1009,7 @@ public class Main implements AntMain {
    in.close();

    StringBuffer msg = new StringBuffer();
    - msg.append("Apache Ant version ");
    + msg.append("Apache Ant(TM) version ");
    msg.append(props.getProperty("VERSION"));
    msg.append(" compiled on ");
    msg.append(props.getProperty("DATE"));
    @@ -1072,7 +1080,8 @@ public class Main implements AntMain {
    * @param printSubTargets Whether or not subtarget names should also be
    * printed.
    */
    - private static void printTargets(Project project, boolean printSubTargets) {
    + private static void printTargets(Project project, boolean printSubTargets,
    + boolean printDependencies) {
    // find the target with the longest name
    int maxLength = 0;
    Map ptargets = removeDuplicateTargets(project.getTargets());
    @@ -1083,7 +1092,9 @@ public class Main implements AntMain {
    // on the presence of a description
    Vector topNames = new Vector();
    Vector topDescriptions = new Vector();
    + Vector/*<Enumeration<String>>*/ topDependencies = new Vector();
    Vector subNames = new Vector();
    + Vector/*<Enumeration<String>>*/ subDependencies = new Vector();

    for (Iterator i = ptargets.values().iterator(); i.hasNext();) {
    currentTarget = (Target) i.next();
    @@ -1096,6 +1107,9 @@ public class Main implements AntMain {
    if (targetDescription == null) {
    int pos = findTargetPosition(subNames, targetName);
    subNames.insertElementAt(targetName, pos);
    + if (printDependencies) {
    + subDependencies.insertElementAt(currentTarget.getDependencies(), pos);
    + }
    } else {
    int pos = findTargetPosition(topNames, targetName);
    topNames.insertElementAt(targetName, pos);
    @@ -1103,18 +1117,21 @@ public class Main implements AntMain {
    if (targetName.length() > maxLength) {
    maxLength = targetName.length();
    }
    + if (printDependencies) {
    + topDependencies.insertElementAt(currentTarget.getDependencies(), pos);
    + }
    }
    }

    - printTargets(project, topNames, topDescriptions, "Main targets:",
    - maxLength);
    + printTargets(project, topNames, topDescriptions, topDependencies,
    + "Main targets:", maxLength);
    //if there were no main targets, we list all subtargets
    //as it means nothing has a description
    if (topNames.size() == 0) {
    printSubTargets = true;
    }
    if (printSubTargets) {
    - printTargets(project, subNames, null, "Other targets:", 0);
    + printTargets(project, subNames, null, subDependencies, "Other targets:", 0);
    }

    String defaultTarget = project.getDefaultTarget();
    @@ -1157,6 +1174,9 @@ public class Main implements AntMain {
    * no descriptions are displayed.
    * If non-<code>null</code>, this should have
    * as many elements as <code>names</code>.
    + * @param topDependencies The list of dependencies for each target.
    + * The dependencies are listed as a non null
    + * enumeration of String.
    * @param heading The heading to display.
    * Should not be <code>null</code>.
    * @param maxlen The maximum length of the names of the targets.
    @@ -1165,7 +1185,8 @@ public class Main implements AntMain {
    * <i>are</i> shorter than this).
    */
    private static void printTargets(Project project, Vector names,
    - Vector descriptions, String heading,
    + Vector descriptions, Vector dependencies,
    + String heading,
    int maxlen) {
    // now, start printing the targets and their descriptions
    String lSep = System.getProperty("line.separator");
    @@ -1185,6 +1206,19 @@ public class Main implements AntMain {
    msg.append(descriptions.elementAt(i));
    }
    msg.append(lSep);
    + if (!dependencies.isEmpty()) {
    + Enumeration deps = (Enumeration) dependencies.elementAt(i);
    + if (deps.hasMoreElements()) {
    + msg.append(" depends on: ");
    + while (deps.hasMoreElements()) {
    + msg.append(deps.nextElement());
    + if (deps.hasMoreElements()) {
    + msg.append(", ");
    + }
    + }
    + msg.append(lSep);
    + }
    + }
    }
    project.log(msg.toString(), Project.MSG_WARN);
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Project.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Project.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Project.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Project.java Mon Dec 13 18:34:00 2010
    @@ -729,7 +729,9 @@ public class Project implements Resource
    * no default target.
    */
    public void setDefault(String defaultTarget) {
    - setUserProperty(MagicNames.PROJECT_DEFAULT_TARGET, defaultTarget);
    + if (defaultTarget != null) {
    + setUserProperty(MagicNames.PROJECT_DEFAULT_TARGET, defaultTarget);
    + }
    this.defaultTarget = defaultTarget;
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelper.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelper.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelper.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelper.java Mon Dec 13 18:34:00 2010
    @@ -82,6 +82,59 @@ public class ProjectHelper {
    helper.parse(project, buildFile);
    }

    + /**
    + * Possible value for target's onMissingExtensionPoint attribute. It determines how to deal with
    + * targets that want to extend missing extension-points.
    + * <p>
    + * This class behaves like a Java 1.5 Enum class.
    + *
    + * @since 1.8.2
    + */
    + public final static class OnMissingExtensionPoint {
    +
    + /** fail if the extension-point is not defined */
    + public static final OnMissingExtensionPoint FAIL = new OnMissingExtensionPoint(
    + "fail");
    +
    + /** warn if the extension-point is not defined */
    + public static final OnMissingExtensionPoint WARN = new OnMissingExtensionPoint(
    + "warn");
    +
    + /** ignore the extensionOf attribute if the extension-point is not defined */
    + public static final OnMissingExtensionPoint IGNORE = new OnMissingExtensionPoint(
    + "ignore");
    +
    + private static final OnMissingExtensionPoint[] values = new OnMissingExtensionPoint[] {
    + FAIL, WARN, IGNORE };
    +
    + private final String name;
    +
    + private OnMissingExtensionPoint(String name) {
    + this.name = name;
    + }
    +
    + public String name() {
    + return name;
    + }
    +
    + public String toString() {
    + return name;
    + }
    +
    + public static OnMissingExtensionPoint valueOf(String name) {
    + if (name == null) {
    + throw new NullPointerException();
    + }
    + for (int i = 0; i < values.length; i++) {
    + if (name.equals(values[i].name())) {
    + return values[i];
    + }
    + }
    + throw new IllegalArgumentException(
    + "Unknown onMissingExtensionPoint " + name);
    + }
    + }
    +
    /** Default constructor */
    public ProjectHelper() {
    }
    @@ -108,9 +161,10 @@ public class ProjectHelper {
    * Extension stack.
    * Used to keep track of targets that extend extension points.
    *
    - * @return a list of two element string arrays where the first
    - * element is the name of the extensionpoint and the second the
    - * name of the target
    + * @return a list of three element string arrays where the first
    + * element is the name of the extensionpoint, the second the name
    + * of the target and the third the name of the enum like class
    + * {@link OnMissingExtensionPoint}.
    */
    public List getExtensionStack() {
    return extensionStack;

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelperRepository.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelperRepository.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelperRepository.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/ProjectHelperRepository.java Mon Dec 13 18:34:00 2010
    @@ -34,7 +34,7 @@ import org.apache.tools.ant.util.LoaderU
    /**
    * Repository of {@link ProjectHelper} found in the classpath or via
    * some System properties.
    -
    + *
    * <p>See the ProjectHelper documentation in the manual.</p>
    *
    * @since Ant 1.8.0
    @@ -57,6 +57,18 @@ public class ProjectHelperRepository {
    private static final Class[] NO_CLASS = new Class[0];
    private static final Object[] NO_OBJECT = new Object[0];

    + private static Constructor PROJECTHELPER2_CONSTRUCTOR;
    +
    + static {
    + try {
    + PROJECTHELPER2_CONSTRUCTOR = ProjectHelper2.class
    + .getConstructor(NO_CLASS);
    + } catch (Exception e) {
    + // ProjectHelper2 must be available
    + throw new RuntimeException(e);
    + }
    + }
    +
    public static ProjectHelperRepository getInstance() {
    return instance;
    }
    @@ -67,7 +79,7 @@ public class ProjectHelperRepository {

    private void collectProjectHelpers() {
    // First, try the system property
    - ProjectHelper projectHelper = getProjectHelperBySystemProperty();
    + Constructor projectHelper = getProjectHelperBySystemProperty();
    registerProjectHelper(projectHelper);

    // A JDK1.3 'service' ( like in JAXP ). That will plug a helper
    @@ -100,35 +112,63 @@ public class ProjectHelperRepository {
    e.printStackTrace(System.err);
    }
    }
    + }

    - // last but not least, ant default project helper
    - projectHelper = new ProjectHelper2();
    - registerProjectHelper(projectHelper);
    + /**
    + * Register the specified project helper into the repository.
    + * <p>
    + * The helper will be added after all the already registered helpers, but
    + * before the default one (ProjectHelper2)
    + *
    + * @param helperClassName
    + * the fully qualified name of the helper
    + * @throws BuildException
    + * if the class cannot be loaded or if there is no constructor
    + * with no argument
    + * @since Ant 1.8.2
    + */
    + public void registerProjectHelper(String helperClassName)
    + throws BuildException {
    + registerProjectHelper(getHelperConstructor(helperClassName));
    }

    - private void registerProjectHelper(ProjectHelper projectHelper) {
    - if (projectHelper == null) {
    + /**
    + * Register the specified project helper into the repository.
    + * <p>
    + * The helper will be added after all the already registered helpers, but
    + * before the default one (ProjectHelper2)
    + *
    + * @param helperClass
    + * the class of the helper
    + * @throws BuildException
    + * if there is no constructor with no argument
    + * @since Ant 1.8.2
    + */
    + public void registerProjectHelper(Class helperClass) throws BuildException {
    + try {
    + registerProjectHelper(helperClass.getConstructor(NO_CLASS));
    + } catch (NoSuchMethodException e) {
    + throw new BuildException("Couldn't find no-arg constructor in "
    + + helperClass.getName());
    + }
    + }
    +
    + private void registerProjectHelper(Constructor helperConstructor) {
    + if (helperConstructor == null) {
    return;
    }
    if (DEBUG) {
    - System.out.println("ProjectHelper " +
    - projectHelper.getClass().getName()
    - + " registered.");
    - }
    - try {
    - helpers.add(projectHelper.getClass().getConstructor(NO_CLASS));
    - } catch (NoSuchMethodException nse) {
    - // impossible to get here
    - throw new BuildException("Couldn't find no-arg constructor in "
    - + projectHelper.getClass().getName());
    + System.out.println("ProjectHelper "
    + + helperConstructor.getClass().getName() + " registered.");
    }
    + helpers.add(helperConstructor);
    }

    - private ProjectHelper getProjectHelperBySystemProperty() {
    + private Constructor getProjectHelperBySystemProperty() {
    String helperClass = System.getProperty(ProjectHelper.HELPER_PROPERTY);
    try {
    if (helperClass != null) {
    - return newHelper(helperClass);
    + return getHelperConstructor(helperClass);
    }
    } catch (SecurityException e) {
    System.err.println("Unable to load ProjectHelper class \""
    @@ -142,7 +182,7 @@ public class ProjectHelperRepository {
    return null;
    }

    - private ProjectHelper getProjectHelperByService(InputStream is) {
    + private Constructor getProjectHelperByService(InputStream is) {
    try {
    // This code is needed by EBCDIC and other strange systems.
    // It's a fix for bugs reported in xerces
    @@ -158,7 +198,7 @@ public class ProjectHelperRepository {
    rd.close();

    if (helperClassName != null && !"".equals(helperClassName)) {
    - return newHelper(helperClassName);
    + return getHelperConstructor(helperClassName);
    }
    } catch (Exception e) {
    System.out.println("Unable to load ProjectHelper from service "
    @@ -171,21 +211,21 @@ public class ProjectHelperRepository {
    }

    /**
    - * Creates a new helper instance from the name of the class. It'll
    - * first try the thread class loader, then Class.forName() will
    - * load from the same loader that loaded this class.
    + * Get the constructor with not argument of an helper from its class name.
    + * It'll first try the thread class loader, then Class.forName() will load
    + * from the same loader that loaded this class.
    *
    * @param helperClass
    * The name of the class to create an instance of. Must not be
    * <code>null</code>.
    *
    - * @return a new instance of the specified class.
    + * @return the constructor of the specified class.
    *
    * @exception BuildException
    - * if the class cannot be found or cannot be appropriate
    - * instantiated.
    + * if the class cannot be found or if a constructor with no
    + * argument cannot be found.
    */
    - private ProjectHelper newHelper(String helperClass) throws BuildException {
    + private Constructor getHelperConstructor(String helperClass) throws BuildException {
    ClassLoader classLoader = LoaderUtils.getContextClassLoader();
    try {
    Class clazz = null;
    @@ -199,7 +239,7 @@ public class ProjectHelperRepository {
    if (clazz == null) {
    clazz = Class.forName(helperClass);
    }
    - return ((ProjectHelper) clazz.newInstance());
    + return clazz.getConstructor(NO_CLASS);
    } catch (Exception e) {
    throw new BuildException(e);
    }
    @@ -266,17 +306,25 @@ public class ProjectHelperRepository {

    private static class ConstructingIterator implements Iterator {
    private final Iterator nested;
    + private boolean empty = false;

    ConstructingIterator(Iterator nested) {
    this.nested = nested;
    }

    public boolean hasNext() {
    - return nested.hasNext();
    + return nested.hasNext() || !empty;
    }

    public Object next() {
    - Constructor c = (Constructor) nested.next();
    + Constructor c;
    + if (nested.hasNext()) {
    + c = (Constructor) nested.next();
    + } else {
    + // last but not least, ant default project helper
    + empty = true;
    + c = PROJECTHELPER2_CONSTRUCTOR;
    + }
    try {
    return c.newInstance(NO_OBJECT);
    } catch (Exception e) {

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Target.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Target.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Target.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Target.java Mon Dec 13 18:34:00 2010
    @@ -46,7 +46,7 @@ public class Target implements TaskConta
    private String unlessCondition = "";

    /** List of targets this target is dependent on. */
    - private List dependencies = null;
    + private List/*<String>*/ dependencies = null;

    /** Children of this target (tasks and data types). */
    private List children = new ArrayList();
    @@ -245,7 +245,7 @@ public class Target implements TaskConta
    /**
    * Returns an enumeration of the dependencies of this target.
    *
    - * @return an enumeration of the dependencies of this target
    + * @return an enumeration of the dependencies of this target (enumeration of String)
    */
    public Enumeration getDependencies() {
    return Collections

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Task.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Task.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Task.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/Task.java Mon Dec 13 18:34:00 2010
    @@ -408,7 +408,7 @@ public abstract class Task extends Proje
    replacement.setProject(getProject());
    replacement.setTaskType(taskType);
    replacement.setTaskName(taskName);
    - replacement.setLocation(location);
    + replacement.setLocation(getLocation());
    replacement.setOwningTarget(target);
    replacement.setRuntimeConfigurableWrapper(wrapper);
    wrapper.setProxy(replacement);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/UnknownElement.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/UnknownElement.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/UnknownElement.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/UnknownElement.java Mon Dec 13 18:34:00 2010
    @@ -269,9 +269,9 @@ public class UnknownElement extends Task
    */
    protected void handleErrorFlush(String output) {
    if (realThing instanceof Task) {
    - ((Task) realThing).handleErrorOutput(output);
    + ((Task) realThing).handleErrorFlush(output);
    } else {
    - super.handleErrorOutput(output);
    + super.handleErrorFlush(output);
    }
    }


    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java Mon Dec 13 18:34:00 2010
    @@ -24,6 +24,7 @@ import org.apache.tools.ant.Project;
    import org.apache.tools.ant.types.Parameter;
    import org.apache.tools.ant.types.RegularExpression;
    import org.apache.tools.ant.util.regexp.Regexp;
    +import org.apache.tools.ant.util.regexp.RegexpUtil;

    /**
    * Filter which includes only those lines that contain the user-specified
    @@ -49,9 +50,12 @@ public final class LineContainsRegExp
    /** Parameter name for the regular expression to filter on. */
    private static final String REGEXP_KEY = "regexp";

    - /** Parameter name for the words to filter on. */
    + /** Parameter name for the negate attribute. */
    private static final String NEGATE_KEY = "negate";

    + /** Parameter name for the casesensitive attribute. */
    + private static final String CS_KEY = "casesensitive";
    +
    /** Vector that holds the expressions that input lines must contain. */
    private Vector regexps = new Vector();

    @@ -63,6 +67,7 @@ public final class LineContainsRegExp
    private String line = null;

    private boolean negate = false;
    + private int regexpOptions = Regexp.MATCH_DEFAULT;

    /**
    * Constructor for "dummy" instances.
    @@ -118,7 +123,7 @@ public final class LineContainsRegExp
    RegularExpression regexp
    = (RegularExpression) regexps.elementAt(i);
    Regexp re = regexp.getRegexp(getProject());
    - matches = re.matches(line);
    + matches = re.matches(line, regexpOptions);
    }
    if (matches ^ isNegated()) {
    break;
    @@ -182,6 +187,10 @@ public final class LineContainsRegExp
    LineContainsRegExp newFilter = new LineContainsRegExp(rdr);
    newFilter.setRegexps(getRegexps());
    newFilter.setNegate(isNegated());
    + newFilter
    + .setCaseSensitive(!RegexpUtil.hasFlag(regexpOptions,
    + Regexp.MATCH_CASE_INSENSITIVE)
    + );
    return newFilter;
    }

    @@ -194,6 +203,14 @@ public final class LineContainsRegExp
    }

    /**
    + * Whether to match casesensitevly.
    + * @since Ant 1.8.2
    + */
    + public void setCaseSensitive(boolean b) {
    + regexpOptions = RegexpUtil.asOptions(b);
    + }
    +
    + /**
    * Find out whether we have been negated.
    * @return boolean negation flag.
    */
    @@ -215,6 +232,8 @@ public final class LineContainsRegExp
    regexps.addElement(regexp);
    } else if (NEGATE_KEY.equals(params[i].getType())) {
    setNegate(Project.toBoolean(params[i].getValue()));
    + } else if (CS_KEY.equals(params[i].getType())) {
    + setCaseSensitive(Project.toBoolean(params[i].getValue()));
    }
    }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/TokenFilter.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/TokenFilter.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/TokenFilter.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/filters/TokenFilter.java Mon Dec 13 18:34:00 2010
    @@ -29,6 +29,7 @@ import org.apache.tools.ant.util.Tokeniz
    import org.apache.tools.ant.util.LineTokenizer;
    import org.apache.tools.ant.util.StringUtils;
    import org.apache.tools.ant.util.regexp.Regexp;
    +import org.apache.tools.ant.util.regexp.RegexpUtil;

    /**
    * This splits up input into tokens and passes
    @@ -705,22 +706,6 @@ public class TokenFilter extends BaseFil
    * @return the Regexp option bits
    */
    public static int convertRegexOptions(String flags) {
    - if (flags == null) {
    - return 0;
    - }
    - int options = 0;
    - if (flags.indexOf('g') != -1) {
    - options |= Regexp.REPLACE_ALL;
    - }
    - if (flags.indexOf('i') != -1) {
    - options |= Regexp.MATCH_CASE_INSENSITIVE;
    - }
    - if (flags.indexOf('m') != -1) {
    - options |= Regexp.MATCH_MULTILINE;
    - }
    - if (flags.indexOf('s') != -1) {
    - options |= Regexp.MATCH_SINGLELINE;
    - }
    - return options;
    + return RegexpUtil.asOptions(flags);
    }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelper2.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelper2.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelper2.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelper2.java Mon Dec 13 18:34:00 2010
    @@ -59,6 +59,7 @@ import java.util.Stack;
    *
    */
    public class ProjectHelper2 extends ProjectHelper {
    +
    /** Reference holding the (ordered) target Vector */
    public static final String REFID_TARGETS = "ant.targets";

    @@ -183,21 +184,30 @@ public class ProjectHelper2 extends Proj
    String[] extensionInfo = (String[]) i.next();
    String tgName = extensionInfo[0];
    String name = extensionInfo[1];
    + OnMissingExtensionPoint missingBehaviour = OnMissingExtensionPoint
    + .valueOf(extensionInfo[2]);
    Hashtable projectTargets = project.getTargets();
    if (!projectTargets.containsKey(tgName)) {
    - throw new BuildException("can't add target "
    - + name + " to extension-point "
    - + tgName
    - + " because the extension-point"
    - + " is unknown.");
    - }
    - Target t = (Target) projectTargets.get(tgName);
    - if (!(t instanceof ExtensionPoint)) {
    - throw new BuildException("referenced target "
    - + tgName
    - + " is not an extension-point");
    + String message = "can't add target " + name
    + + " to extension-point " + tgName
    + + " because the extension-point is unknown.";
    + if (missingBehaviour == OnMissingExtensionPoint.FAIL) {
    + throw new BuildException(message);
    + } else if (missingBehaviour == OnMissingExtensionPoint.WARN) {
    + Target target = (Target) projectTargets.get(name);
    + context.getProject().log(target,
    + "Warning: " + message,
    + Project.MSG_WARN);
    + }
    + } else {
    + Target t = (Target) projectTargets.get(tgName);
    + if (!(t instanceof ExtensionPoint)) {
    + throw new BuildException("referenced target "
    + + tgName
    + + " is not an extension-point");
    + }
    + t.addDependency(name);
    }
    - t.addDependency(name);
    }
    }
    }
    @@ -250,7 +260,7 @@ public class ProjectHelper2 extends Proj
    buildFileName = url.toString();
    } else {
    throw new BuildException("Source " + source.getClass().getName()
    - + " not supported by this plugin");
    + + " not supported by this plugin");
    }
    InputStream inputStream = null;
    InputSource inputSource = null;
    @@ -270,7 +280,7 @@ public class ProjectHelper2 extends Proj
    uri = url.toString();
    int pling = -1;
    if (uri.startsWith("jar:file")
    - && (pling = uri.indexOf("!")) > -1) {
    + && (pling = uri.indexOf("!/")) > -1) {
    zf = new ZipFile(org.apache.tools.ant.launch.Locator
    .fromJarURI(uri), "UTF-8");
    inputStream =
    @@ -297,7 +307,7 @@ public class ProjectHelper2 extends Proj
    parser.parse(inputSource);
    } catch (SAXParseException exc) {
    Location location = new Location(exc.getSystemId(), exc.getLineNumber(), exc
    - .getColumnNumber());
    + .getColumnNumber());

    Throwable t = exc.getException();
    if (t instanceof BuildException) {
    @@ -317,11 +327,11 @@ public class ProjectHelper2 extends Proj
    } catch (FileNotFoundException exc) {
    throw new BuildException(exc);
    } catch (UnsupportedEncodingException exc) {
    - throw new BuildException("Encoding of project file " + buildFileName + " is invalid.",
    - exc);
    + throw new BuildException("Encoding of project file " + buildFileName + " is invalid.",
    + exc);
    } catch (IOException exc) {
    throw new BuildException("Error reading project file " + buildFileName + ": "
    - + exc.getMessage(), exc);
    + + exc.getMessage(), exc);
    } finally {
    FileUtils.close(inputStream);
    ZipFile.closeQuietly(zf);
    @@ -440,7 +450,7 @@ public class ProjectHelper2 extends Proj
    public AntHandler onStartChild(String uri, String tag, String qname, Attributes attrs,
    AntXMLContext context) throws SAXParseException {
    throw new SAXParseException("Unexpected element \"" + qname + " \"", context
    - .getLocator());
    + .getLocator());
    }

    /**
    @@ -453,7 +463,7 @@ public class ProjectHelper2 extends Proj
    * @exception SAXParseException if an error occurs
    */
    public void onEndChild(String uri, String tag, String qname, AntXMLContext context)
    - throws SAXParseException {
    + throws SAXParseException {
    }

    /**
    @@ -480,7 +490,7 @@ public class ProjectHelper2 extends Proj
    * case of error in an overridden version
    */
    public void characters(char[] buf, int start, int count, AntXMLContext context)
    - throws SAXParseException {
    + throws SAXParseException {
    String s = new String(buf, start, count).trim();

    if (s.length() > 0) {
    @@ -548,9 +558,9 @@ public class ProjectHelper2 extends Proj
    if (!file.isAbsolute()) {
    file = FILE_UTILS.resolveFile(context.getBuildFileParent(), path);
    context.getProject().log(
    - "Warning: '" + systemId + "' in " + context.getBuildFile()
    - + " should be expressed simply as '" + path.replace('\\', '/')
    - + "' for compliance with other XML tools", Project.MSG_WARN);
    + "Warning: '" + systemId + "' in " + context.getBuildFile()
    + + " should be expressed simply as '" + path.replace('\\', '/')
    + + "' for compliance with other XML tools", Project.MSG_WARN);
    }
    context.getProject().log("file=" + file, Project.MSG_DEBUG);
    try {
    @@ -559,7 +569,7 @@ public class ProjectHelper2 extends Proj
    return inputSource;
    } catch (FileNotFoundException fne) {
    context.getProject().log(file.getAbsolutePath() + " could not be found",
    - Project.MSG_WARN);
    + Project.MSG_WARN);
    }

    }
    @@ -583,7 +593,7 @@ public class ProjectHelper2 extends Proj
    * <code>"project"</code>
    */
    public void startElement(String uri, String tag, String qname, Attributes attrs)
    - throws SAXParseException {
    + throws SAXParseException {
    AntHandler next = currentHandler.onStartChild(uri, tag, qname, attrs, context);
    antHandlers.push(currentHandler);
    currentHandler = next;
    @@ -678,10 +688,10 @@ public class ProjectHelper2 extends Proj
    }
    if (name.equals(qname)) {
    throw new SAXParseException("Unexpected element \"{" + uri
    - + "}" + name + "\" {" + ANT_CORE_URI + "}" + name, context.getLocator());
    + + "}" + name + "\" {" + ANT_CORE_URI + "}" + name, context.getLocator());
    }
    throw new SAXParseException("Unexpected element \"" + qname
    - + "\" " + name, context.getLocator());
    + + "\" " + name, context.getLocator());
    }
    }

    @@ -774,7 +784,7 @@ public class ProjectHelper2 extends Proj
    } else {
    // XXX ignore attributes in a different NS ( maybe store them ? )
    throw new SAXParseException("Unexpected attribute \"" + attrs.getQName(i)
    - + "\"", context.getLocator());
    + + "\"", context.getLocator());
    }
    }

    @@ -805,8 +815,8 @@ public class ProjectHelper2 extends Proj

    if (context.isIgnoringProjectTag() && !dupFile.equals(contextFile)) {
    project.log("Duplicated project name in import. Project "
    - + context.getCurrentProjectName() + " defined first in " + dup
    - + " and again in " + contextFile, Project.MSG_WARN);
    + + context.getCurrentProjectName() + " defined first in " + dup
    + + " and again in " + contextFile, Project.MSG_WARN);
    }
    }
    if (nameAttributeSet) {
    @@ -839,7 +849,7 @@ public class ProjectHelper2 extends Proj
    project.setBasedir(baseDir);
    } else {
    project.setBaseDir(FILE_UTILS.resolveFile(context.getBuildFileParent(),
    - baseDir));
    + baseDir));
    }
    }
    }
    @@ -905,6 +915,7 @@ public class ProjectHelper2 extends Proj
    String name = null;
    String depends = "";
    String extensionPoint = null;
    + OnMissingExtensionPoint extensionPointMissing = null;

    Project project = context.getProject();
    Target target = "target".equals(tag)
    @@ -940,15 +951,21 @@ public class ProjectHelper2 extends Proj
    target.setDescription(value);
    } else if (key.equals("extensionOf")) {
    extensionPoint = value;
    + } else if (key.equals("onMissingExtensionPoint")) {
    + try {
    + extensionPointMissing = OnMissingExtensionPoint.valueOf(value);
    + } catch (IllegalArgumentException e) {
    + throw new BuildException("Invalid onMissingExtensionPoint " + value);
    + }
    } else {
    throw new SAXParseException("Unexpected attribute \"" + key + "\"", context
    - .getLocator());
    + .getLocator());
    }
    }

    if (name == null) {
    throw new SAXParseException("target element appears without a name attribute",
    - context.getLocator());
    + context.getLocator());
    }

    String prefix = null;
    @@ -978,7 +995,7 @@ public class ProjectHelper2 extends Proj
    // If the name has not already been defined define it
    if (projectTargets.containsKey(name)) {
    project.log("Already defined in main or a previous import, ignore " + name,
    - Project.MSG_VERBOSE);
    + Project.MSG_VERBOSE);
    } else {
    target.setName(name);
    context.getCurrentTargets().put(name, target);
    @@ -1008,10 +1025,16 @@ public class ProjectHelper2 extends Proj
    context.getCurrentTargets().put(newName, newTarget);
    project.addOrReplaceTarget(newName, newTarget);
    }
    + if (extensionPointMissing != null && extensionPoint == null) {
    + throw new BuildException("onMissingExtensionPoint attribute cannot " +
    + "be specified unless extensionOf is specified",
    + target.getLocation());
    +
    + }
    if (extensionPoint != null) {
    ProjectHelper helper =
    (ProjectHelper) context.getProject().
    - getReference(ProjectHelper.PROJECTHELPER_REFERENCE);
    + getReference(ProjectHelper.PROJECTHELPER_REFERENCE);
    for (Iterator iter =
    Target.parseDepends(extensionPoint, name, "extensionOf")
    .iterator();
    @@ -1020,12 +1043,13 @@ public class ProjectHelper2 extends Proj
    if (isInIncludeMode()) {
    tgName = prefix + sep + tgName;
    }
    -
    + if (extensionPointMissing == null) {
    + extensionPointMissing = OnMissingExtensionPoint.FAIL;
    + }
    // defer extensionpoint resolution until the full
    // import stack has been processed
    helper.getExtensionStack().add(new String[] {
    - tgName, name
    - });
    + tgName, name, extensionPointMissing.name() });
    }
    }
    }
    @@ -1128,7 +1152,7 @@ public class ProjectHelper2 extends Proj
    task.setTaskName(qname);

    Location location = new Location(context.getLocator().getSystemId(), context
    - .getLocator().getLineNumber(), context.getLocator().getColumnNumber());
    + .getLocator().getLineNumber(), context.getLocator().getColumnNumber());
    task.setLocation(location);
    task.setOwningTarget(context.getCurrentTarget());

    @@ -1159,8 +1183,8 @@ public class ProjectHelper2 extends Proj
    // be namespaced, need to extract the name
    // and convert from qualified name to uri/name
    if (ANT_TYPE.equals(name)
    - || (ANT_CORE_URI.equals(attrUri)
    - && ANT_TYPE.equals(attrs.getLocalName(i)))) {
    + || (ANT_CORE_URI.equals(attrUri)
    + && ANT_TYPE.equals(attrs.getLocalName(i)))) {
    name = ANT_TYPE;
    int index = value.indexOf(":");
    if (index >= 0) {
    @@ -1168,10 +1192,10 @@ public class ProjectHelper2 extends Proj
    String mappedUri = context.getPrefixMapping(prefix);
    if (mappedUri == null) {
    throw new BuildException("Unable to find XML NS prefix \"" + prefix
    - + "\"");
    + + "\"");
    }
    value = ProjectHelper.genComponentName(mappedUri, value
    - .substring(index + 1));
    + .substring(index + 1));
    }
    }
    wrapper.setAttribute(name, value);

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java Mon Dec 13 18:34:00 2010
    @@ -403,7 +403,7 @@ public class ProjectHelperImpl extends P
    }

    if (def != null && !def.equals("")) {
    - helperImpl.project.setDefaultTarget(def);
    + helperImpl.project.setDefault(def);
    } else {
    throw new BuildException("The default attribute is required");
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/input/GreedyInputHandler.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/input/GreedyInputHandler.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/input/GreedyInputHandler.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/input/GreedyInputHandler.java Mon Dec 13 18:34:00 2010
    @@ -31,8 +31,6 @@ import org.apache.tools.ant.util.FileUti
    */
    public class GreedyInputHandler extends DefaultInputHandler {

    - private static final int BUFFER_SIZE = 1024;
    -
    /**
    * Empty no-arg constructor
    */

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/launch/Locator.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/launch/Locator.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/launch/Locator.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/launch/Locator.java Mon Dec 13 18:34:00 2010
    @@ -281,7 +281,7 @@ public final class Locator {
    * @since Ant1.7.1
    */
    public static String fromJarURI(String uri) {
    - int pling = uri.indexOf('!');
    + int pling = uri.indexOf("!/");
    String jarName = uri.substring("jar:".length(), pling);
    return fromURI(jarName);
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/loader/AntClassLoader5.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/loader/AntClassLoader5.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/loader/AntClassLoader5.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/loader/AntClassLoader5.java Mon Dec 13 18:34:00 2010
    @@ -19,15 +19,17 @@
    package org.apache.tools.ant.loader;

    import java.util.Enumeration;
    +import java.io.Closeable;
    import java.io.IOException;
    import org.apache.tools.ant.AntClassLoader;
    import org.apache.tools.ant.Project;
    import org.apache.tools.ant.types.Path;

    /**
    - * Overrides getResources which became non-final in Java5
    + * Overrides getResources which became non-final in Java5 and
    + * implements Closeable
    */
    -public class AntClassLoader5 extends AntClassLoader {
    +public class AntClassLoader5 extends AntClassLoader implements Closeable {
    /**
    * Creates a classloader for the given project using the classpath given.
    *
    @@ -53,4 +55,9 @@ public class AntClassLoader5 extends Ant
    public Enumeration getResources(String name) throws IOException {
    return getNamedResources(name);
    }
    +
    + /** {@inheritDoc} */
    + public void close() {
    + cleanup();
    + }
    }

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/property/ResolvePropertyMap.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/property/ResolvePropertyMap.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/property/ResolvePropertyMap.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/property/ResolvePropertyMap.java Mon Dec 13 18:34:00 2010
    @@ -36,6 +36,12 @@ public class ResolvePropertyMap implemen
    private final GetProperty master;
    private Map map;
    private String prefix;
    + // whether properties of the value side of the map should be
    + // expanded
    + private boolean prefixValues = false;
    + // whether the current getProperty call is expanding the key side
    + // of the map
    + private boolean expandingLHS = true;

    /**
    * Constructor with a master getproperty and a collection of expanders.
    @@ -59,20 +65,32 @@ public class ResolvePropertyMap implemen
    "Property " + name + " was circularly " + "defined.");
    }

    - // if the property has already been set to the name it will
    - // have in the end, then return the existing value to ensure
    - // properties remain immutable
    - String masterPropertyName = name;
    - if (prefix != null) {
    - masterPropertyName = prefix + name;
    - }
    - Object masterProperty = master.getProperty(masterPropertyName);
    - if (masterProperty != null) {
    - return masterProperty;
    - }
    -
    try {
    +
    + // If the property we are looking up is a key in the map
    + // (first call into this method from resolveAllProperties)
    + // or we've been asked to prefix the value side (later
    + // recursive calls via the GetProperty interface) the
    + // prefix must be prepended when looking up the property
    + // outside of the map.
    + String fullKey = name;
    + if (prefix != null && (expandingLHS || prefixValues)) {
    + fullKey = prefix + name;
    + }
    +
    + Object masterValue = master.getProperty(fullKey);
    + if (masterValue != null) {
    + // If the property already has a value outside of the
    + // map, use that value to enforce property
    + // immutability.
    +
    + return masterValue;
    + }
    +
    seen.add(name);
    + expandingLHS = false;
    + // will recurse into this method for each property
    + // reference found in the map's value
    return parseProperties.parseProperties((String) map.get(name));
    } finally {
    seen.remove(name);
    @@ -82,10 +100,10 @@ public class ResolvePropertyMap implemen
    /**
    * The action method - resolves all the properties in a map.
    * @param map the map to resolve properties in.
    - * @deprecated since Ant 1.8.1, use the two-arg method instead.
    + * @deprecated since Ant 1.8.2, use the three-arg method instead.
    */
    public void resolveAllProperties(Map map) {
    - resolveAllProperties(map, null);
    + resolveAllProperties(map, null, false);
    }

    /**
    @@ -93,11 +111,30 @@ public class ResolvePropertyMap implemen
    * @param map the map to resolve properties in.
    * @param prefix the prefix the properties defined inside the map
    * will finally receive - may be null.
    + * @deprecated since Ant 1.8.2, use the three-arg method instead.
    */
    public void resolveAllProperties(Map map, String prefix) {
    - this.map = map; // The map gets used in the getProperty callback
    + resolveAllProperties(map, null, false);
    + }
    +
    + /**
    + * The action method - resolves all the properties in a map.
    + * @param map the map to resolve properties in.
    + * @param prefix the prefix the properties defined inside the map
    + * will finally receive - may be null.
    + * @param prefixValues - whether the prefix will be applied
    + * to properties on the value side of the map as well.
    + */
    + public void resolveAllProperties(Map map, String prefix,
    + boolean prefixValues) {
    + // The map, prefix and prefixValues flag get used in the
    + // getProperty callback
    + this.map = map;
    this.prefix = prefix;
    + this.prefixValues = prefixValues;
    +
    for (Iterator i = map.keySet().iterator(); i.hasNext();) {
    + expandingLHS = true;
    String key = (String) i.next();
    Object result = getProperty(key);
    String value = result == null ? "" : result.toString();

    Modified: ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/AntStructure.java
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/AntStructure.java?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/AntStructure.java (original)
    +++ ant/core/branches/ANT_SITE/src/main/org/apache/tools/ant/taskdefs/AntStructure.java Mon Dec 13 18:34:00 2010
    @@ -106,8 +106,8 @@ public class AntStructure extends Task {
    while (dataTypes.hasNext()) {
    String typeName = (String) dataTypes.next();
    printer.printElementDecl(
    - out, getProject(), typeName,
    - (Class) getProject().getDataTypeDefinitions().get(typeName));
    + out, getProject(), typeName,
    + (Class) getProject().getDataTypeDefinitions().get(typeName));
    }

    Iterator tasks = getProject().getCopyOfTaskDefinitions().keySet()
    @@ -266,13 +266,14 @@ public class AntStructure extends Task {
    private void printTargetAttrs(PrintWriter out, String tag) {
    out.print("<!ATTLIST ");
    out.println(tag);
    - out.println(" id ID #IMPLIED");
    - out.println(" name CDATA #REQUIRED");
    - out.println(" if CDATA #IMPLIED");
    - out.println(" unless CDATA #IMPLIED");
    - out.println(" depends CDATA #IMPLIED");
    - out.println(" extensionOf CDATA #IMPLIED");
    - out.println(" description CDATA #IMPLIED>");
    + out.println(" id ID #IMPLIED");
    + out.println(" name CDATA #REQUIRED");
    + out.println(" if CDATA #IMPLIED");
    + out.println(" unless CDATA #IMPLIED");
    + out.println(" depends CDATA #IMPLIED");
    + out.println(" extensionOf CDATA #IMPLIED");
    + out.println(" onMissingExtensionPoint CDATA #IMPLIED");
    + out.println(" description CDATA #IMPLIED>");
    out.println("");
    }
  • Antoine at Dec 13, 2010 at 6:35 pm
    Modified: ant/core/branches/ANT_SITE/docs/nightlies.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/nightlies.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/nightlies.html (original)
    +++ ant/core/branches/ANT_SITE/docs/nightlies.html Mon Dec 13 18:34:00 2010
    @@ -97,7 +97,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -137,6 +137,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -153,6 +156,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -163,9 +169,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -201,7 +204,7 @@
    Nightly Builds
    </h3>
    <p>We don't provide binary nightly builds at the moment, but if you
    -want to build Ant from sources, you can use a <a href="http://svn.apache.org/snapshots/ant/">Subversion snapshot</a>.</p>
    +want to build Apache Ant from sources, you can use a <a href="http://svn.apache.org/snapshots/ant/">Subversion snapshot</a>.</p>
    <h3 class="section">
    <a name="Continuous Builds"></a>
    Continuous Builds
    @@ -211,9 +214,9 @@ Note that these are no official builds a
    But if you have problems with <i>testing</i> the latest (successful) build, you are welcome to post
    that on the <a href="mail.html#Developer%20List:%20dev@ant.apache.org">developer mailinglist</a>.
    You can directly access the builds of Ant and Ivy on these CI installations:</p>
    - <p>The Apache Software Foundation <a href="http://hudson.zones.apache.org/hudson/">hosts</a> an
    -installation of the <a href="http://hudson.dev.java.net/">Hudson</a> CI-system which Ant + Ivy
    -<a href="http://hudson.zones.apache.org/hudson/view/Ant/">use</a>.</p>
    + <p>The Apache Software Foundation <a href="http://hudson.apache.org/hudson/">hosts</a> an
    +installation of the <a href="http://hudson-ci.org/">Hudson</a> CI-system which Ant + Ivy
    +<a href="https://hudson.apache.org/hudson/view/A-F/view/Ant/">use</a>.</p>
    <table class="ContinuousBuild">
    <tr>
    <th>Title</th>
    @@ -224,30 +227,79 @@ installation of the <a href="http://huds
    <th>last success</th>
    </tr>
    <tr><td colspan="6" class="title"><b>Apache Ant</b></td></tr>
    + <tr>
    + <td class="title">Ant Trunk on JDK 1.4</td>
    + <td class="description">current development on the lowest defined JDK</td>
    + <td class="command">build.sh</td>
    + <td class="when">continuously</td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_JDK_1.4/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_JDK_1.4/lastSuccessfulBuild/">last success</a></td>
    + </tr>
    + <tr>
    + <td class="title">Ant Trunk Tests on JDK 1.4</td>
    + <td class="description">current development on the lowest defined JDK</td>
    + <td class="command">build.sh allclean test</td>
    + <td class="when">continuously</td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_JDK_1.4_Test/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_JDK_1.4_Test/lastSuccessfulBuild/">last success</a></td>
    + </tr>
    + <tr>
    + <td class="title">Checks Ant POMs by building Ant from the POMs.</td>
    + <td class="description">Checks the POMs by building Ant by Maven</td>
    + <td class="command">maven src/etc/poms/pom.xml clean package</td>
    + <td class="when">continuously</td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_BuildFromPOMs/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_BuildFromPOMs/lastSuccessfulBuild/">last success</a></td>
    + </tr>
    + <tr>
    + <td class="title">Ant Nightly</td>
    + <td class="description">Metric checks of Ant Trunk (Findbugs, RAT, Checkstyle)</td>
    + <td class="command">ant allclean distribution | ant -f check.xml dumphtml findbugs rat</td>
    + <td class="when">continuously</td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_Nightly/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant_Nightly/lastSuccessfulBuild/">last success</a></td>
    + </tr>
    + <tr>
    + <td class="title">Ant JDK-Matrix</td>
    + <td class="description">Checks Ant Trunk against several JDKs (1.4, 1.5, 1.6)</td>
    + <td class="command">ant test</td>
    + <td class="when">continuously</td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant-Build-Matrix/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ant-Build-Matrix/lastSuccessfulBuild/">last success</a></td>
    + </tr>
    <tr><td colspan="6" class="title"><b>Apache Ivy</b></td></tr>
    <tr>
    <td class="title">Ivy Core Trunk</td>
    <td class="description">current development</td>
    - <td class="command"></td>
    + <td class="command">ant clean jar</td>
    + <td class="when">continuously</td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ivy/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ivy/lastSuccessfulBuild/">last success</a></td>
    + </tr>
    + <tr>
    + <td class="title">Ivy Core Trunk Checks</td>
    + <td class="description">Metric checks of Ivy Trunk (Findbugs, RAT, Checkstyle)</td>
    + <td class="command">ant findbugs checkstyle-internal | ant -f build-release.xml rat</td>
    <td class="when">continuously</td>
    - <td class="link"><a href="http://hudson.zones.apache.org/hudson/view/Ant//Ivy/lastBuild/">last build</a></td>
    - <td class="link"><a href="http://hudson.zones.apache.org/hudson/view/Ant//Ivy/lastSuccessfulBuild/">last success</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ivy-check/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/Ivy-check/lastSuccessfulBuild/">last success</a></td>
    </tr>
    + <tr><td colspan="6" class="title"><b>Apache IvyDE</b></td></tr>
    <tr>
    <td class="title">IvyDE Trunk</td>
    <td class="description">current development</td>
    - <td class="command"></td>
    + <td class="command">ant clean hudson-prepare | ant dist checkstyle rat</td>
    <td class="when">continuously</td>
    - <td class="link"><a href="http://hudson.zones.apache.org/hudson/view/Ant//IvyDE/lastBuild/">last build</a></td>
    - <td class="link"><a href="http://hudson.zones.apache.org/hudson/view/Ant//IvyDE/lastSuccessfulBuild/">last success</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/IvyDE/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/IvyDE/lastSuccessfulBuild/">last success</a></td>
    </tr>
    <tr>
    <td class="title">Eclipse Updatesite</td>
    <td class="description">Update your Eclipse installation with the latest Ivy/IvyDE</td>
    - <td class="command"></td>
    + <td class="command">ant hudson-prepare | ant hudson-build</td>
    <td class="when">continuously</td>
    - <td class="link"><a href="http://hudson.zones.apache.org/hudson/view/Ant//IvyDE-updatesite/lastBuild/">last build</a></td>
    - <td class="link"><a href="http://hudson.zones.apache.org/hudson/view/Ant//IvyDE-updatesite/lastSuccessfulBuild/">last success</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/IvyDE-updatesite/lastBuild/">last build</a></td>
    + <td class="link"><a href="https://hudson.apache.org/hudson/view/A-F/view/Ant//job/IvyDE-updatesite/lastSuccessfulBuild/">last success</a></td>
    </tr>
    </table>
    <p>JetBrains is offering Ant the service of a Continuous Build on their TeamCity system.</p>
    @@ -356,6 +408,7 @@ installation of the <a href="http://huds
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/problems.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/problems.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/problems.html (original)
    +++ ant/core/branches/ANT_SITE/docs/problems.html Mon Dec 13 18:34:00 2010
    @@ -99,7 +99,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -139,6 +139,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -155,6 +158,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -165,9 +171,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -204,7 +207,7 @@
    </h3>
    <p>
    This page details some steps you can take to try and resolve
    - any problems you may be having with Ant. If you find you can't
    + any problems you may be having with Apache Ant. If you find you can't
    resolve the problem, then this page will help you collect some of
    the relevant information to provide in a bug report. This information
    will help the Ant developers understand and resolve the problem.

    Modified: ant/core/branches/ANT_SITE/docs/projects.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/projects.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/projects.html (original)
    +++ ant/core/branches/ANT_SITE/docs/projects.html Mon Dec 13 18:34:00 2010
    @@ -99,7 +99,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -139,6 +139,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -155,6 +158,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -165,9 +171,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -202,7 +205,7 @@
    <a name="Related Projects"></a>
    Related Projects
    </h3>
    - <p>Nothing listed here is directly supported by the Ant
    + <p>Nothing listed here is directly supported by the Apache Ant
    developers, if you encounter any problems with them, please use
    the contact information.</p>
    <h4 class="subsection">

    Modified: ant/core/branches/ANT_SITE/docs/projects/index.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/projects/index.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/projects/index.html (original)
    +++ ant/core/branches/ANT_SITE/docs/projects/index.html Mon Dec 13 18:34:00 2010
    @@ -100,7 +100,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -122,7 +122,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -138,7 +138,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -167,11 +167,11 @@
    <div class="content">
    <h1 class="title">Welcome</h1>
    <h3 class="section">
    - <a name="Welcome to the Ant Projects Area"></a>
    - Welcome to the Ant Projects Area
    + <a name="Welcome to the Apache Ant&amp;#x2122; Projects Area"></a>
    + Welcome to the Apache Ant&#x2122; Projects Area
    </h3>
    - <h3>This is where the Ant sub-projects live!</h3>
    - <p>Now, that Ant has become an Apache Top-Level Project it is time to make space on this
    + <h3>This is where the Apache Ant sub-projects live!</h3>
    + <p>Now, that Apache Ant has become an Apache Top-Level Project it is time to make space on this
    Web-Page for Ant sub-projects.</p>
    <p>To make sure you do not miss anything: Stay tuned and visit this page from time to time :)!
    </p>
    @@ -180,6 +180,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/projects/ivy.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/projects/ivy.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/projects/ivy.html (original)
    +++ ant/core/branches/ANT_SITE/docs/projects/ivy.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - The Ivy Subproject</title>
    + <title>Apache Ant - The Apache Ivy Subproject</title>
    <link type="text/css" href="../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -163,13 +163,13 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">The Ivy Subproject</h1>
    + <h1 class="title">The Apache Ivy Subproject</h1>
    <h3 class="section">
    - <a name="The Ivy Subproject"></a>
    - The Ivy Subproject
    + <a name="The Apache Ivy&amp;#x2122; Subproject"></a>
    + The Apache Ivy&#x2122; Subproject
    </h3>
    <h3>Apache Ivy</h3>
    - <p>Ivy is a simple yet powerful dependency manager featuring continuous integration,
    + <p>Apache Ivy is a simple yet powerful dependency manager featuring continuous integration,
    dependencies of dependencies management, multiple repositories including ibiblio and
    high performance (use of a local cache).</p>

    @@ -177,6 +177,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/projects/ivyde.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/projects/ivyde.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/projects/ivyde.html (original)
    +++ ant/core/branches/ANT_SITE/docs/projects/ivyde.html Mon Dec 13 18:34:00 2010
    @@ -21,7 +21,7 @@
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    - <title>Apache Ant - The IvyDE Subproject</title>
    + <title>Apache Ant - The Apache IvyDE Subproject</title>
    <link type="text/css" href="../page.css" rel="stylesheet">
    </head>

    @@ -98,7 +98,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ant Libraries
    + <li class="menuheader">Apache Ant Libraries
    <ul>
    <li>
    <a href="../antlibs/index.html">Introduction</a>
    @@ -120,7 +120,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">Ivy
    + <li class="menuheader">Apache Ivy
    <ul>
    <li>
    <a href="../projects/ivy.html">Introduction</a>
    @@ -136,7 +136,7 @@
    </li>
    </ul>
    </li>
    - <li class="menuheader">IvyDE
    + <li class="menuheader">Apache IvyDE
    <ul>
    <li>
    <a href="../projects/ivyde.html">Introduction</a>
    @@ -163,13 +163,13 @@
    <div class="lightbluebar">&nbsp;</div>
    <div class="main">
    <div class="content">
    - <h1 class="title">The IvyDE Subproject</h1>
    + <h1 class="title">The Apache IvyDE Subproject</h1>
    <h3 class="section">
    - <a name="The IvyDE Subproject"></a>
    - The IvyDE Subproject
    + <a name="The Apache IvyDE&amp;#x2122; Subproject"></a>
    + The Apache IvyDE&#x2122; Subproject
    </h3>
    <h3>Apache IvyDE</h3>
    - <ul>IvyDE is the Eclipse plugin which intergrate Ivy into your java development enviromnent. It includes:
    + <ul>Apache IvyDE is the Eclipse plugin which intergrates Apache Ivy into your java development enviromnent. It includes:
    <li>an Ivy xml files editor: creation wizard, html preview and completion for Ivy xml tag, attributes but also attributes' values.</li>
    <li>an Ivy settings files editor: completion for xml tag, attributes but also attributes' values.</li>
    <li>a classpath container: automatic downloads, access "resolve" task from your IDE, and resolve in Eclipse's workspace</li>
    @@ -180,6 +180,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/resources.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/resources.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/resources.html (original)
    +++ ant/core/branches/ANT_SITE/docs/resources.html Mon Dec 13 18:34:00 2010
    @@ -23,9 +23,7 @@
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Apache Ant - Resources</title>
    <link type="text/css" href="./page.css" rel="stylesheet">
    - <meta name="author" content="Stefan Bodewig">
    - <meta name="email" content="bodewig@apache.org">
    - </head>
    + </head>

    <body>
    <p class="navpath">
    @@ -99,7 +97,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -139,6 +137,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -155,6 +156,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -165,9 +169,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -203,10 +204,10 @@
    FAQs
    </h3>
    <h4 class="subsection">
    - <a name="At Ant's website"></a>
    - At Ant's website
    + <a name="At Apache Ant&amp;#x2122;'s website"></a>
    + At Apache Ant&#x2122;'s website
    </h4>
    - <p>Starting with the release of Ant 1.4 the Ant's FAQ is
    + <p>Starting with the release of Apache Ant 1.4 the Ant's FAQ is
    bundled with the distribution, the most recent version can
    always be found at the website.</p>
    <table class="externals" cellspacing="1" cellpadding="4">
    @@ -253,7 +254,7 @@
    FAQ about Borland Application Server tasks
    </h4>
    <p>Benoit Moussaud, the original author of the Borland
    - Application Server specific <a href="manual/OptionalTasks/ejb.html#ejbtasks">EJB tasks</a> has put
    + Application Server specific <a href="manual/Tasks/ejb.html#ejbtasks">EJB tasks</a> has put
    together a FAQ for this specific subtask.</p>
    <table class="externals" cellspacing="1" cellpadding="4">
    <tr>
    @@ -1454,6 +1455,7 @@
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/srcdownload.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/srcdownload.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/srcdownload.html (original)
    +++ ant/core/branches/ANT_SITE/docs/srcdownload.html Mon Dec 13 18:34:00 2010
    @@ -97,7 +97,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -137,6 +137,9 @@
    <li>
    <span class="sel">Source Distributions</span>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -153,6 +156,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -163,9 +169,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management
    @@ -197,8 +200,14 @@
    <div class="content">
    <h1 class="title">Source Distributions</h1>
    <h3 class="section">
    - <a name="Downloading Ant"></a>
    - Downloading Ant
    + <a name="Apache Ant&amp;#x2122;"></a>
    + Apache Ant&#x2122;
    + </h3>
    + <p>Apache Ant is a Java library and command-line tool that help
    + building software.</p>
    + <h3 class="section">
    + <a name="Downloading Apache Ant"></a>
    + Downloading Apache Ant
    </h3>
    <p>Use the links below to download a source distribution of Ant from
    one of our mirrors. It is good practice to
    @@ -239,14 +248,14 @@ Other mirrors: <select name="Preferred">
    <input type="submit" value="Change" />
    </form>
    <h3 class="section">
    - <a name="Current Release of Ant"></a>
    - Current Release of Ant
    + <a name="Current Release of Apache Ant"></a>
    + Current Release of Apache Ant
    </h3>
    - <p>Currently, Apache Ant 1.8.0 is the best available version, see the
    + <p>Currently, Apache Ant 1.8.1 is the best available version, see the
    <a href="[preferred]/ant/README.html">release notes</a>.</p>
    <div class="warning">
    <div class="label">Note</div>
    -<div class="content">Ant 1.8.0 was released on 8-Feb-2010 and
    +<div class="content">Ant 1.8.1 was released on 7-May-2010 and
    may not be available on all mirrors for a few days.</div>
    </div>
    <br />
    @@ -257,37 +266,38 @@ may not be available on all mirrors for
    </div>
    <ul>
    <li><code>.zip</code> archive:
    -<a href="[preferred]/ant/source/apache-ant-1.8.0-src.zip">apache-ant-1.8.0-src.zip</a>
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.zip.asc">PGP</a>]
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.zip.sha1">SHA1</a>]
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.zip.md5">MD5</a>]</li>
    +<a href="[preferred]/ant/source/apache-ant-1.8.1-src.zip">apache-ant-1.8.1-src.zip</a>
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.zip.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.zip.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.zip.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.zip.md5">MD5</a>]</li>

    <li><code>.tar.gz</code> archive:
    -<a href="[preferred]/ant/source/apache-ant-1.8.0-src.tar.gz">apache-ant-1.8.0-src.tar.gz</a>
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.gz.asc">PGP</a>]
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.gz.sha1">SHA1</a>]
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.gz.md5">MD5</a>]</li>
    +<a href="[preferred]/ant/source/apache-ant-1.8.1-src.tar.gz">apache-ant-1.8.1-src.tar.gz</a>
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.gz.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.gz.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.gz.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.gz.md5">MD5</a>]</li>

    <li><code>.tar.bz2</code> archive:
    -<a href="[preferred]/ant/source/apache-ant-1.8.0-src.tar.bz2">apache-ant-1.8.0-src.tar.bz2</a>
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.bz2.asc">PGP</a>]
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.bz2.sha1">SHA1</a>]
    -[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.bz2.md5">MD5</a>]</li>
    +<a href="[preferred]/ant/source/apache-ant-1.8.1-src.tar.bz2">apache-ant-1.8.1-src.tar.bz2</a>
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.bz2.asc">PGP</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.bz2.sha1">SHA1</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.bz2.sha512">SHA512</a>]
    +[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.1-src.tar.bz2.md5">MD5</a>]</li>
    </ul>
    <h3 class="section">
    <a name="Old Ant Releases"></a>
    Old Ant Releases
    </h3>
    - <p>Older releases of Ant can be found <a href="http://archive.apache.org/dist/ant/source/">here</a>. Those
    -releases are only provided as <code>zip</code> archives that can be
    -extracted by <code>jar xf </code><em>archive.zip</em> - we highly
    + <p>Older releases of Ant can be found <a href="http://archive.apache.org/dist/ant/source/">here</a>. We highly
    recommend to not use those releases but upgrade to Ant's <a href="[location]#Current Release of Ant">latest</a> release.</p>
    <h3 class="section">
    <a name="Verify Releases"></a>
    Verify Releases
    </h3>
    <p>It is essential that you verify the integrity of the downloaded
    -files using the PGP signature or the SHA1 or MD5 checksums. The
    +files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The
    checksums are not as strong indicators as the PGP signature.</p>
    <p>The PGP signatures can be verified using PGP or GPG. First
    download the <a href="http://www.apache.org/dist/ant/KEYS">KEYS</a>
    @@ -297,21 +307,21 @@ directory</a>, rather than from a mirror
    using</p>
    <p><code>
    % pgpk -a KEYS<br />
    -% pgpv apache-ant-1.8.0-src.tar.gz.asc<br />
    +% pgpv apache-ant-1.8.1-src.tar.gz.asc<br />
    </code>
    <em>or</em><br />
    <code>
    % pgp -ka KEYS<br />
    -% pgp apache-ant-1.8.0-src.tar.gz.asc<br />
    +% pgp apache-ant-1.8.1-src.tar.gz.asc<br />
    </code>
    <em>or</em><br />
    <code>
    % gpg --import KEYS<br />
    -% gpg --verify apache-ant-1.8.0-src.tar.gz.asc
    +% gpg --verify apache-ant-1.8.1-src.tar.gz.asc
    </code></p>
    <p>Alternatively, you can verify the checksums on the files. Unix
    -programs called <code>md5</code>/<code>sha1</code> or
    -<code>md5sum</code>/<code>sha1sum</code> are included in many unix
    +programs called <code>md5</code>/<code>sha1</code>/<code>sha512</code> or
    +<code>md5sum</code>/<code>sha1sum</code>/<code>sha512sum</code> are included in many unix
    distributions. <code>*sum</code> is also available as part of <a href="http://www.gnu.org/software/textutils/textutils.html">GNU
    Textutils</a>. Windows users can get binary md5 programs from <a href="http://www.fourmilab.ch/md5/">here</a>, <a href="http://www.pc-tools.net/win32/freeware/console/">here</a>. <a href="http://www.slavasoft.com/fsum/">fsum</a> supports MD5 and
    SHA1.</p>
    @@ -321,6 +331,7 @@ SHA1.</p>
    </div>

    <p class="copyright">
    + Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
    <script type="text/javascript" language="JavaScript"><!--
    document.write(" - "+"Last Published: " + document.lastModified);
    // -->

    Modified: ant/core/branches/ANT_SITE/docs/svn.html
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/docs/svn.html?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/docs/svn.html (original)
    +++ ant/core/branches/ANT_SITE/docs/svn.html Mon Dec 13 18:34:00 2010
    @@ -99,7 +99,7 @@
    <a href="./index.html">Welcome</a>
    </li>
    <li>
    - <a href="./license.html">License</a>
    + <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
    </li>
    <li>
    <a href="./antnews.html">News</a>
    @@ -139,6 +139,9 @@
    <li>
    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
    </li>
    + <li>
    + <a href="http://ant.apache.org/manualdownload.cgi">Ant Manual</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Contributing
    @@ -155,6 +158,9 @@
    <li>
    <a href="./bugs.html">Bug Database</a>
    </li>
    + <li>
    + <a href="http://www.apache.org/security/">Security</a>
    + </li>
    </ul>
    </li>
    <li class="menuheader">Sponsorship
    @@ -165,9 +171,6 @@
    <li>
    <a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    - <li>
    - <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
    - </li>
    </ul>
    </li>
    <li class="menuheader">Project Management

    Modified: ant/core/branches/ANT_SITE/fetch.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/fetch.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/fetch.xml (original)
    +++ ant/core/branches/ANT_SITE/fetch.xml Mon Dec 13 18:34:00 2010
    @@ -60,6 +60,10 @@
    <!-- load in our properties table -->
    <property file="${lib.dir}/libraries.properties"/>

    + <!-- Temporary cache for working files -->
    + <property name="temp.dir" location="${user.home}/.ant/tempcache" />
    + <property name="keep.temp.dir" value="true" />
    +
    <import file="get-m2.xml" />

    <target name="pick-dest">
    @@ -99,9 +103,10 @@ Set -Ddest=LOCATION on the command line
    <macrodef name="f2">
    <attribute name="project" />
    <attribute name="archive" default="@{project}"/>
    + <attribute name="repository" default="${m2.repo}"/>
    <sequential>
    <fail>
    - Unknown archive @{archive} -no property @{archive}.version defined.
    + Unknown archive @{archive} -no property @{archive}.version defined in ${lib.dir}/libraries.properties.
    <condition>
    <not>
    <isset property="@{archive}.version"/>
    @@ -112,6 +117,7 @@ Set -Ddest=LOCATION on the command line
    <dependency groupID="@{project}"
    artifactID="@{archive}"
    version="${@{archive}.version}"/>
    + <remoteRepository url="@{repository}" />
    </artifact:dependencies>
    <!-- now we are left with the problem of getting the files
    into our directory -->
    @@ -123,11 +129,71 @@ Set -Ddest=LOCATION on the command line
    </macrodef>
    </target>

    + <target name="nonm2-macros" depends="pick-dest">
    + <macrodef name="get-ftp-file">
    + <attribute name="host" />
    + <attribute name="port" default="21"/>
    + <attribute name="remotedir" />
    + <attribute name="filename" />
    + <attribute name="localdir" default="${dest.dir}" />
    + <attribute name="user" default="anonymous"/>
    + <attribute name="pw" default="anonymous"/>
    + <sequential>
    + <ftp server="@{host}" port="@{port}" userid="@{user}" password="@{pw}" passive="true"
    + remotedir="@{remotedir}" action="get" depends="true" preserveLastModified="true"
    + skipFailedTransfers="true">
    + <fileset dir="@{localdir}">
    + <include name="@{filename}" />
    + </fileset>
    + </ftp>
    + </sequential>
    + </macrodef>
    +
    + </target>
    +


    <!-- any init stuff -->
    <target name="init" depends="macros" />

    + <target name="init-no-m2" depends="nonm2-macros" />
    +
    + <target name="init-cache">
    + <available property="temp.cache.already.exists" file="${temp.dir}" type="dir" />
    + <condition property="user.wants.temp.cache">
    + <and>
    + <isset property="keep.temp.dir" />
    + <not>
    + <or>
    + <equals arg1="${keep.temp.dir}" arg2="false" casesensitive="false" />
    + <equals arg1="${keep.temp.dir}" arg2="no" casesensitive="false" />
    + <equals arg1="${keep.temp.dir}" arg2="off" casesensitive="false" />
    + </or>
    + </not>
    + </and>
    + </condition>
    + <condition property="delete.temp.cache">
    + <and>
    + <not>
    + <isset property="temp.cache.already.exists" />
    + </not>
    + <not>
    + <isset property="user.wants.temp.cache" />
    + </not>
    + </and>
    + </condition>
    + </target>
    +
    + <target name="-setup-temp-cache" depends="init-cache" unless="temp.cache.already.exists"
    + description="Setup temporary cache for downloaded files">
    + <mkdir dir="${temp.dir}" />
    + </target>
    +
    + <target name="-cleanup-temp-cache" depends="init-cache" if="delete.temp.cache"
    + description="Gets rid of the temporary cache directory">
    + <delete dir="${temp.dir}" />
    + </target>
    +

    <target name="diag" depends="init">
    <echoproperties />
    @@ -153,16 +219,12 @@ Set -Ddest=LOCATION on the command line
    <f2 project="xml-resolver" />
    </target>

    - <!--
    - This is not used as
    - we like to get the more recent artifacts than are in the repo at the time of writing (2006-12-21)
    - -->
    -
    <target name="networking"
    description="load networking libraries (commons-net; jsch)"
    depends="init">
    <f2 project="commons-net" />
    <f2 project="com.jcraft" archive="jsch"/>
    + <available property="have.commons.net" classname="org.apache.commons.net.ftp.FTPClientConfig"/>
    </target>

    <target name="regexp"
    @@ -242,8 +304,40 @@ Set -Ddest=LOCATION on the command line
    <f2 project="javax.servlet" archive="servlet-api"/>
    </target>

    + <target name="jai" depends="init"
    + description="load java advanced imaging">
    + <f2 project="javax.media" archive="jai-core" repository="http://repository.jboss.org/maven2"/>
    + <f2 project="com.sun.media" archive="jai-codec" repository="http://repository.jboss.org/maven2"/>
    + </target>
    +
    + <target name="netrexx" depends="init-no-m2,-setup-temp-cache,networking,-fetch-netrexx,-fetch-netrexx-no-commons-net,-cleanup-temp-cache"
    + description="load NetRexx compiler" />
    +
    + <target name="-fetch-netrexx" depends="-setup-temp-cache"
    + description="FTPs NetRexx compiler from IBM site" if="have.commons.net">
    + <get-ftp-file host="ftp.software.ibm.com" remotedir="/software/awdtools/netrexx"
    + filename="NetRexx.zip" localdir="${temp.dir}" />
    + <copy todir="${dest.dir}" flatten="true">
    + <zipfileset src="${temp.dir}/NetRexx.zip">
    + <include name="NetRexx\lib\NetRexxC.jar" />
    + <include name="NetRexx\browse\license.txt" />
    + </zipfileset>
    + </copy>
    + </target>
    +
    + <target name="-fetch-netrexx-no-commons-net" depends="-setup-temp-cache"
    + description="FTPs NetRexx compiler from IBM site" unless="have.commons.net">
    + <get src="ftp://ftp.software.ibm.com/software/awdtools/netrexx/NetRexx.zip" dest="${temp.dir}/NetRexx.zip" skipexisting="true"/>
    + <copy todir="${dest.dir}" flatten="true">
    + <zipfileset src="${temp.dir}/NetRexx.zip">
    + <include name="NetRexx\lib\NetRexxC.jar" />
    + <include name="NetRexx\browse\license.txt" />
    + </zipfileset>
    + </copy>
    + </target>
    +
    <target name="all"
    description="load all the libraries (except jython)"
    - depends="logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf,debugging,script,javamail,jspc" />
    + depends="logging,junit,xml,networking,regexp,antlr,bcel,jdepend,bsf,debugging,script,javamail,jspc,jai,netrexx" />

    </project>

    Modified: ant/core/branches/ANT_SITE/lib/libraries.properties
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/lib/libraries.properties?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/lib/libraries.properties (original)
    +++ ant/core/branches/ANT_SITE/lib/libraries.properties Mon Dec 13 18:34:00 2010
    @@ -26,6 +26,8 @@ m2.antlib.url=${m2.url}/org/apache/maven
    #this is the sha1 checksum of the artifact
    m2.sha1.checksum=4e7ddfdb91600e9b59bb965ff8eef2f06015df50

    +# Repository to use by default for fetching dependencies.
    +m2.repo=http://repo1.maven.org/maven2/

    #versions of different libraries. Please keep in alphabetical order, except
    #when a specific dependency forces them to be out-of-order
    @@ -37,11 +39,13 @@ bsh-core.version=${bsh.version}
    commons-net.version=1.4.1
    commons-logging.version=1.1
    commons-logging-api.version=${commons-logging.version}
    +jai-core.version=1.1.3
    +jai-codec.version=1.1.3
    jasper-compiler.version=4.1.36
    jasper-runtime.version=${jasper-compiler.version}
    jdepend.version=2.9.1
    jruby.version=0.9.8
    -junit.version=3.8.2
    +junit.version=4.8.1
    jsch.version=0.1.42
    jython.version=2.1
    #log4j 1.2.15 requires JMS and a few other Sun jars that are not in the m2 repo

    Propchange: ant/core/branches/ANT_SITE/lib/optional/
    ------------------------------------------------------------------------------
    --- svn:ignore (original)
    +++ svn:ignore Mon Dec 13 18:34:00 2010
    @@ -1,23 +1,38 @@
    -jdepend*.jar
    -s*.jar
    NetRexxC.jar
    -activation.jar
    -antlr*.jar
    +activation-*.jar
    +antlr-*.jar
    +asm-*.jar
    +asm-commons-*.jar
    +asm-tree-*.jar
    bcel*.jar
    -bsf.jar
    -bsh*.jar
    -commons-logging*.jar
    -commons-net*.jar
    -jai_codec.jar
    -jai_core.jar
    +bsf-*.jar
    +bsh-*.jar
    +commons-logging-*.jar
    +commons-net-*.jar
    +jai-codec-*.jar
    +jai-core-*.jar
    jakarta-oro-*.jar
    jakarta-regexp-*.jar
    -js.jar
    -jsch*.jar
    +jasper-compiler-*.jar
    +jasper-runtime-*.jar
    +jdepend-*.jar
    +jruby-*.jar
    +js-*.jar
    +jsch-*.jar
    +jython-*.jar
    +license.txt
    log4j-*.jar
    -mail.jar
    +mail-*.jar
    +maven-artifact-ant-*-dep.jar
    mlibwrapper_jai.jar
    +oro-*.jar
    +regexp-*.jar
    resolver.jar
    +serializer-*.jar
    +servlet-api-*.jar
    starteam-sdk.jar
    weblogic*.jar
    -xalan*.jar
    +which-*.jar
    +xalan-*.jar
    +xml-apis-*.jar
    +xml-resolver-*.jar

    Modified: ant/core/branches/ANT_SITE/lib/optional/README
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/lib/optional/README?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/lib/optional/README (original)
    +++ ant/core/branches/ANT_SITE/lib/optional/README Mon Dec 13 18:34:00 2010
    @@ -1,3 +1,4 @@
    -The file junit-3.8.2.jar is version 3.8.2 of JUnit, see the file LICENSE.junit.html
    -for the terms of distribution. For more information about JUnit or
    -the latest release, see <http://www.junit.org/>.
    +The file junit-3.8.2.jar is version 3.8.2 of JUnit, whereas junit-4.8.1.jar is
    +version 4.8.1 with the junit.** classes removed (except for the 3.x -> 4.x
    +adapter); see the file LICENSE.junit.html for the terms of distribution. For
    +more information about JUnit or the latest release, see <http://www.junit.org/>.

    Modified: ant/core/branches/ANT_SITE/release.sh
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/release.sh?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/release.sh (original)
    +++ ant/core/branches/ANT_SITE/release.sh Mon Dec 13 18:34:00 2010
    @@ -31,6 +31,9 @@ export PATH=$JAVA_HOME/bin:$PATH
    echo ANT_HOME=$ANT_HOME
    echo JAVA_HOME=$JAVA_HOME
    which java
    -echo running second build under JDK 1.5 including tests
    -./build.sh distribution run-tests
    +echo running second build under JDK 1.5
    +./build.sh dist-lite
    +echo running third build to run the tests and do the distribution
    +dist/bin/ant -nouserlib -lib lib/optional run-tests distribution
    +


    Modified: ant/core/branches/ANT_SITE/src/etc/junit-frames-xalan1.xsl
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/junit-frames-xalan1.xsl?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/junit-frames-xalan1.xsl (original)
    +++ ant/core/branches/ANT_SITE/src/etc/junit-frames-xalan1.xsl Mon Dec 13 18:34:00 2010
    @@ -4,7 +4,7 @@
    xmlns:redirect="org.apache.xalan.lib.Redirect"
    xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils"
    extension-element-prefixes="redirect">
    -<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
    +<xsl:output method="html" indent="yes" encoding="UTF-8"/>
    <xsl:decimal-format decimal-separator="." grouping-separator=","/>
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    @@ -97,14 +97,28 @@
    <xsl:apply-templates select="." mode="class.details"/>
    </redirect:write>
    <xsl:if test="string-length(./system-out)!=0">
    - <redirect:write file="{$output.dir}/{$package.dir}/{@name}-out.txt">
    - <xsl:value-of select="./system-out" />
    - </redirect:write>
    + <redirect:write file="{$output.dir}/{$package.dir}/{@name}-out.html">
    + <html>
    + <head>
    + <title>Standard Output from <xsl:value-of select="@name"/></title>
    + </head>
    + <body>
    + <pre><xsl:value-of select="./system-out"/></pre>
    + </body>
    + </html>
    + </redirect:write>
    </xsl:if>
    <xsl:if test="string-length(./system-err)!=0">
    - <redirect:write file="{$output.dir}/{$package.dir}/{@name}-err.txt">
    - <xsl:value-of select="./system-err" />
    - </redirect:write>
    + <redirect:write file="{$output.dir}/{$package.dir}/{@name}-err.html">
    + <html>
    + <head>
    + <title>Standard Error from <xsl:value-of select="@name"/></title>
    + </head>
    + <body>
    + <pre><xsl:value-of select="./system-err"/></pre>
    + </body>
    + </html>
    + </redirect:write>
    </xsl:if>
    </xsl:for-each>
    </xsl:template>
    @@ -264,7 +278,7 @@ h6 {
    <xsl:if test="string-length(./system-out)!=0">
    <div class="Properties">
    <a>
    - <xsl:attribute name="href">./<xsl:value-of select="@name"/>-out.txt</xsl:attribute>
    + <xsl:attribute name="href">./<xsl:value-of select="@name"/>-out.html</xsl:attribute>
    System.out &#187;
    </a>
    </div>
    @@ -272,7 +286,7 @@ h6 {
    <xsl:if test="string-length(./system-err)!=0">
    <div class="Properties">
    <a>
    - <xsl:attribute name="href">./<xsl:value-of select="@name"/>-err.txt</xsl:attribute>
    + <xsl:attribute name="href">./<xsl:value-of select="@name"/>-err.html</xsl:attribute>
    System.err &#187;
    </a>
    </div>

    Modified: ant/core/branches/ANT_SITE/src/etc/junit-frames.xsl
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/junit-frames.xsl?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/junit-frames.xsl (original)
    +++ ant/core/branches/ANT_SITE/src/etc/junit-frames.xsl Mon Dec 13 18:34:00 2010
    @@ -4,7 +4,7 @@
    xmlns:redirect="http://xml.apache.org/xalan/redirect"
    xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils"
    extension-element-prefixes="redirect">
    -<xsl:output method="html" indent="yes" encoding="US-ASCII"/>
    +<xsl:output method="html" indent="yes" encoding="UTF-8"/>
    <xsl:decimal-format decimal-separator="." grouping-separator=","/>
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    @@ -117,13 +117,27 @@
    <xsl:apply-templates select="." mode="class.details"/>
    </redirect:write>
    <xsl:if test="string-length(./system-out)!=0">
    - <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-out.txt">
    - <xsl:value-of disable-output-escaping="yes" select="./system-out"/>
    + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-out.html">
    + <html>
    + <head>
    + <title>Standard Output from <xsl:value-of select="@name"/></title>
    + </head>
    + <body>
    + <pre><xsl:value-of select="./system-out"/></pre>
    + </body>
    + </html>
    </redirect:write>
    </xsl:if>
    <xsl:if test="string-length(./system-err)!=0">
    - <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-err.txt">
    - <xsl:value-of disable-output-escaping="yes" select="./system-err"/>
    + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-err.html">
    + <html>
    + <head>
    + <title>Standard Error from <xsl:value-of select="@name"/></title>
    + </head>
    + <body>
    + <pre><xsl:value-of select="./system-err"/></pre>
    + </body>
    + </html>
    </redirect:write>
    </xsl:if>
    <xsl:if test="@failures != 0">
    @@ -384,7 +398,7 @@ h6 {
    <xsl:if test="string-length(./system-out)!=0">
    <div class="Properties">
    <a>
    - <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-out.txt</xsl:attribute>
    + <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-out.html</xsl:attribute>
    System.out &#187;
    </a>
    </div>
    @@ -392,7 +406,7 @@ h6 {
    <xsl:if test="string-length(./system-err)!=0">
    <div class="Properties">
    <a>
    - <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-err.txt</xsl:attribute>
    + <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-err.html</xsl:attribute>
    System.err &#187;
    </a>
    </div>

    Modified: ant/core/branches/ANT_SITE/src/etc/junit-noframes.xsl
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/junit-noframes.xsl?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/junit-noframes.xsl (original)
    +++ ant/core/branches/ANT_SITE/src/etc/junit-noframes.xsl Mon Dec 13 18:34:00 2010
    @@ -2,7 +2,7 @@
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    xmlns:lxslt="http://xml.apache.org/xslt"
    xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils">
    -<xsl:output method="html" indent="yes" encoding="US-ASCII"
    +<xsl:output method="html" indent="yes" encoding="UTF-8"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" />
    <xsl:decimal-format decimal-separator="." grouping-separator="," />
    <!--

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/README.txt
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/README.txt?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/README.txt (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/README.txt Mon Dec 13 18:34:00 2010
    @@ -8,10 +8,9 @@ Libs not available in the maven reposito
    groupId artifactId version comment
    com.bea weblogic 8.1.3.0 download it
    com.bea weblogicclasses 5.1 a newer version can do.
    -jai jai-core 1.1.2_01 download jai from sun
    -jai jai-codec 1.1.2.1 download jai from sun
    -javax.media jmf 2.1.1e dowmload jmf from sun
    -com.ibm.netrexx netrexx 2.0.5 I used the file NetRexxC.jar from the netrexx distribution
    +jai jai-core 1.1.2_01 fetch.xml
    +jai jai-codec 1.1.2.1 fetch.xml
    +com.ibm.netrexx netrexx 2.0.5 fetch.xml
    com.starteam starteam-sdk 5.2 the original file is called starteam-sdk.jar
    stylebook stylebook 1.0-b2 the original file is called stylebook-1.0-b2.jar


    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-antlr/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-antlr/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-antlr/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-antlr/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,19 +27,20 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-antlr</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + ANTLR</name>
    <description>antlr specific task.
    The implementation forks a java process, therefore the antlr jar file is only needed at runtime</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <optional>true</optional>
    <scope>compile</scope>
    </dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bcel/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bcel/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bcel/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bcel/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,17 +27,18 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-bcel</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + BCEL</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    @@ -56,8 +57,8 @@
    <source>1.4</source>
    <target>1.4</target>
    <includes>
    - <include>org/apache/tools/ant/tfilters/util/JavaClassHelper*</include>
    - <include>org/apache/tools/ant/tutil/depend/bcel/*</include>
    + <include>org/apache/tools/ant/filters/util/JavaClassHelper*</include>
    + <include>org/apache/tools/ant/util/depend/bcel/*</include>
    </includes>
    </configuration>
    </plugin>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bsf/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bsf/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bsf/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-bsf/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,17 +27,18 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-bsf</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + BSF</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-log4j/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-log4j/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-log4j/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-log4j/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,17 +26,18 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-log4j</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Log4J</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-oro/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-oro/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-oro/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-oro/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,17 +27,18 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-oro</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Apache Oro</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    @@ -59,6 +60,9 @@
    <include>org/apache/tools/ant/util/regexp/JakartaOro*</include>
    <include>org/apache/tools/ant/taskdefs/optional/perforce/*</include>
    </includes>
    + <testIncludes>
    + <include>org/apache/tools/ant/taskdefs/optional/perforce/*</include>
    + </testIncludes>
    </configuration>
    </plugin>
    </plugins>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-regexp/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-regexp/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-regexp/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-regexp/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,17 +26,18 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-regexp</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Apache Regexp</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-resolver/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-resolver/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-resolver/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-resolver/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,17 +26,18 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-resolver</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Apache Resolver</name>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-xalan2/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-xalan2/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-xalan2/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-apache-xalan2/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,24 +26,19 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-apache-xalan2</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Xalan 2</name>
    <description>contains Xalan2-specific features</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    - <scope>compile</scope>
    - </dependency>
    - <dependency>
    - <groupId>org.apache.ant</groupId>
    - <artifactId>ant-nodeps</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-logging/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-logging/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-logging/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-logging/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,18 +26,19 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-commons-logging</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Commons Logging</name>
    <description>Ant Listener based on commons-logging</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-net/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-net/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-net/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-commons-net/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,18 +26,19 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-commons-net</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + Commons Net</name>
    <description>ftp, rexec and telnet tasks</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    @@ -60,6 +61,9 @@ xsi:schemaLocation="http://maven.apache.
    <include>org/apache/tools/ant/taskdefs/optional/net/RExec*</include>
    <include>org/apache/tools/ant/taskdefs/optional/net/TelnetTask*</include>
    </includes>
    + <testIncludes>
    + <include>org/apache/tools/ant/taskdefs/optional/net/FTP*</include>
    + </testIncludes>
    </configuration>
    </plugin>
    </plugins>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-jai/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-jai/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-jai/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-jai/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,36 +27,40 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-jai</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + JAI</name>
    <description>image task and corresponding types.
    - jai (Java Advanced Imaging) is not available in public Maven repositories, therefore the dependencies are included with a scope provided
    - the download URL is http://java.sun.com/products/java-media/jai/
    </description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    <groupId>javax.media</groupId>
    <artifactId>jai-core</artifactId>
    - <version>1.1.2_01</version>
    - <scope>provided</scope>
    + <version>1.1.3</version>
    </dependency>
    <dependency>
    - <groupId>jai</groupId>
    + <groupId>com.sun.media</groupId>
    <artifactId>jai-codec</artifactId>
    - <version>1.1.2.1</version>
    - <scope>provided</scope>
    + <version>1.1.3</version>
    </dependency>
    </dependencies>
    + <repositories>
    + <repository>
    + <id>jboss</id>
    + <name>JBoss</name>
    + <url>http://repository.jboss.org/maven2/</url>
    + </repository>
    + </repositories>
    <build>
    <plugins>
    <plugin>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-javamail/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-javamail/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-javamail/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-javamail/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,12 +26,13 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-javamail</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + JavaMail</name>
    <description>implementation of the mail task based on javamail.
    Required to send emails to SMTP servers using user/password combinations
    or to send mail over SSL</description>
    @@ -39,7 +40,7 @@ xsi:schemaLocation="http://maven.apache.
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-jdepend/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-jdepend/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-jdepend/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-jdepend/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,19 +27,20 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-jdepend</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + JDepend</name>
    <description>task jdepend invoking the jdepend parser. There is also a version 2.9.1 of the
    jdepend parser available on the maven repository</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-jmf/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-jmf/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-jmf/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-jmf/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,27 +26,22 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-jmf</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + JMF</name>
    <description>contains the sound task and a soundplayer listener
    download the dependency from http://java.sun.com/products/java-media/jmf/</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    - <dependency>
    - <groupId>javax.media</groupId>
    - <artifactId>jmf</artifactId>
    - <version>2.1.1e</version>
    - <scope>provided</scope>
    - </dependency>
    </dependencies>
    <build>
    <plugins>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-jsch/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-jsch/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-jsch/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-jsch/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,19 +26,20 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-jsch</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + JSch</name>
    <description>contains the sshexec and scp tasks
    jsch 0.1.29 might not be available from maven</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    @@ -59,6 +60,9 @@ xsi:schemaLocation="http://maven.apache.
    <includes>
    <include>org/apache/tools/ant/taskdefs/optional/ssh/*</include>
    </includes>
    + <testIncludes>
    + <include>org/apache/tools/ant/taskdefs/optional/ssh/*</include>
    + </testIncludes>
    </configuration>
    </plugin>
    </plugins>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-junit/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-junit/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-junit/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-junit/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,18 +26,19 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-junit</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + JUnit</name>
    <description>contains the junit and junirreport tasks</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    @@ -82,6 +83,12 @@ xsi:schemaLocation="http://maven.apache.
    <includes>
    <include>org/apache/tools/ant/taskdefs/optional/junit/*</include>
    </includes>
    + <excludes>
    + <exclude>org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter*</exclude>
    + </excludes>
    + <testIncludes>
    + <include>org/apache/tools/ant/taskdefs/optional/junit/</include>
    + </testIncludes>
    </configuration>
    </plugin>
    </plugins>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-launcher/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-launcher/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-launcher/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-launcher/pom.xml Mon Dec 13 18:34:00 2010
    @@ -27,12 +27,13 @@
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-launcher</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant Launcher</name>
    <build>
    <plugins>
    <plugin>

    Modified: ant/core/branches/ANT_SITE/src/etc/poms/ant-netrexx/pom.xml
    URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/etc/poms/ant-netrexx/pom.xml?rev=1045279&r1=1045278&r2=1045279&view=diff
    ==============================================================================
    --- ant/core/branches/ANT_SITE/src/etc/poms/ant-netrexx/pom.xml (original)
    +++ ant/core/branches/ANT_SITE/src/etc/poms/ant-netrexx/pom.xml Mon Dec 13 18:34:00 2010
    @@ -26,27 +26,31 @@ xsi:schemaLocation="http://maven.apache.
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant-netrexx</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    + <name>Apache Ant + NetRexx</name>
    <description>NetRexxC task
    dependency can be downloaded from http://www.ibm.com/software/awdtools/netrexx/download.html</description>
    <dependencies>
    <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    - <version>1.8.0-SNAPSHOT</version>
    + <version>1.8.2-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>
    + <!-- Processed too early, before maven-antrun-plugin gets a chance to work:
    <dependency>
    <groupId>com.ibm.netrexx</groupId>
    <artifactId>netrexx</artifactId>
    <version>2.0.5</version>
    - <scope>provided</scope>
    + <scope>system</scope>
    + <systemPath>${basedir}/../../../../lib/optional/NetRexxC.jar</systemPath>
    </dependency>
    + -->
    </dependencies>
    <build>
    <plugins>
    @@ -59,8 +63,32 @@ xsi:schemaLocation="http://maven.apache.
    <includes>
    <include>org/apache/tools/ant/taskdefs/optional/NetRexxC*</include>
    </includes>
    + <!-- Need to use this rather than system scope as above: -->
    + <compilerArguments>
    + <extdirs>${basedir}/../../../../lib/optional</extdirs>
    + </compilerArguments>
    </configuration>
    </plugin>
    + <plugin>
    + <groupId>org.apache.maven.plugins</groupId>
    + <artifactId>maven-antrun-plugin</artifactId>
    + <version>1.4</version>
    + <executions>
    + <execution>
    + <phase>validate</phase>
    + <configuration>
    + <tasks>
    + <ant dir="${basedir}/../../../.." antfile="fetch.xml" target="netrexx">
    + <property name="dest" value="optional"/>
    + </ant>
    + </tasks>
    + </configuration>
    + <goals>
    + <goal>run</goal>
    + </goals>
    + </execution>
    + </executions>
    + </plugin>
    </plugins>
    <sourceDirectory>../../../../src/main</sourceDirectory>
    <testSourceDirectory>../../../../src/testcases</testSourceDirectory>

Related Discussions

Discussion Navigation
viewthread | post

1 user in discussion

Antoine: 9 posts