You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by an...@apache.org on 2014/05/06 04:08:50 UTC
svn commit: r1592650 - in /ant/site/ant/production/manual: ./ Tasks/ Types/
Author: antoine
Date: Tue May 6 02:08:50 2014
New Revision: 1592650
URL: http://svn.apache.org/r1592650
Log:
release of Apache Ant 1.9.4
Added:
ant/site/ant/production/manual/Types/multirootfileset.html
- copied unchanged from r1591179, ant/core/trunk/manual/Types/multirootfileset.html
Modified:
ant/site/ant/production/manual/ (props changed)
ant/site/ant/production/manual/Tasks/conditions.html
ant/site/ant/production/manual/Tasks/get.html
ant/site/ant/production/manual/Tasks/include.html (props changed)
ant/site/ant/production/manual/Tasks/javadoc.html
ant/site/ant/production/manual/Tasks/junit.html
ant/site/ant/production/manual/Tasks/local.html
ant/site/ant/production/manual/Tasks/mail.html
ant/site/ant/production/manual/Tasks/sql.html
ant/site/ant/production/manual/Tasks/sshexec.html
ant/site/ant/production/manual/Tasks/style.html
ant/site/ant/production/manual/Types/patternset.html
ant/site/ant/production/manual/Types/redirector.html
ant/site/ant/production/manual/Types/resources.html
ant/site/ant/production/manual/Types/selectors-program.html
ant/site/ant/production/manual/conceptstypeslist.html
ant/site/ant/production/manual/cover.html (contents, props changed)
ant/site/ant/production/manual/credits.html
ant/site/ant/production/manual/install.html
ant/site/ant/production/manual/targets.html
ant/site/ant/production/manual/tutorial-tasks-filesets-properties.html
ant/site/ant/production/manual/tutorial-writing-tasks.html
Propchange: ant/site/ant/production/manual/
------------------------------------------------------------------------------
Merged /ant/core/tags/ANT_194/manual:r1591180-1592649
Merged /ant/core/trunk/manual:r1553123-1554405,1554407-1554807,1554809-1591179
Modified: ant/site/ant/production/manual/Tasks/conditions.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/conditions.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/conditions.html (original)
+++ ant/site/ant/production/manual/Tasks/conditions.html Tue May 6 02:08:50 2014
@@ -255,7 +255,7 @@ TCP/IP listener at the specified host an
<h4><a name="filesmatch">filesmatch</a></h4>
<p>Test two files for matching. Nonexistence of one file results in "false",
although if neither exists they are considered equal in terms of content.
-This test does a byte for byte comparision, so test time scales with
+This test does a byte for byte comparison, so test time scales with
byte size. NB: if the files are different sizes, one of them is missing
or the filenames match the answer is so obvious the detailed test is omitted.
@@ -306,7 +306,7 @@ or the filenames match the answer is so
</tr>
<tr>
<td valign="top">casesensitive</td>
- <td valign="top">Perform a case sensitive comparision. Default is
+ <td valign="top">Perform a case sensitive comparison. Default is
true.</td>
<td valign="top" align="center">No</td>
</tr>
@@ -753,7 +753,7 @@ Probe for the maven repository being rea
<h4><a name="resourcesmatch">resourcesmatch</a></h4>
<p>Test resources for matching. Nonexistence of one or more resources results in
"false", although if none exists they are considered equal in terms of content.
-By default this test does a byte for byte comparision, so test time scales with
+By default this test does a byte for byte comparison, so test time scales with
byte size. NB: if the files are different sizes, one of them is missing
or the filenames match the answer is so obvious the detailed test is omitted.
The resources to check are specified as nested
@@ -805,7 +805,7 @@ must match. <b>Since Ant 1.7</b>
</tr>
<tr>
<td valign="top">casesensitive</td>
- <td valign="top">Perform a case sensitive comparision. Default is
+ <td valign="top">Perform a case sensitive comparison. Default is
true.</td>
<td valign="top" align="center">No</td>
</tr>
@@ -1071,7 +1071,7 @@ is redundant and will be ignored.</p>
<h4><a name="resourceexists">resourceexists</a></h4>
-<p>Tests a resource for existance. <em>since Ant 1.8.0</em></p>
+<p>Tests a resource for existence. <em>since Ant 1.8.0</em></p>
<p>The actual resource to test is specified as a nested element.</p>
Modified: ant/site/ant/production/manual/Tasks/get.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/get.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/get.html (original)
+++ ant/site/ant/production/manual/Tasks/get.html Tue May 6 02:08:50 2014
@@ -72,6 +72,11 @@ plain text' authentication is used. This
<td align="center" valign="top">No; default "false"</td>
</tr>
<tr>
+ <td valign="top">quiet</td>
+ <td valign="top">Log errors only.("true"/"false").</td>
+ <td align="center" valign="top">No; default "false"</td>
+ </tr>
+ <tr>
<td valign="top">ignoreerrors</td>
<td valign="top">Log errors but don't treat as fatal.</td>
<td align="center" valign="top">No; default "false"</td>
Propchange: ant/site/ant/production/manual/Tasks/include.html
------------------------------------------------------------------------------
Merged /ant/core/tags/ANT_194/manual/Tasks/include.html:r1591180-1592649
Merged /ant/core/trunk/manual/Tasks/include.html:r1553123-1591179
Modified: ant/site/ant/production/manual/Tasks/javadoc.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/javadoc.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/javadoc.html (original)
+++ ant/site/ant/production/manual/Tasks/javadoc.html Tue May 6 02:08:50 2014
@@ -428,6 +428,14 @@ to <javadoc> using <tt>classpath</
<td align="center" valign="top">No</td>
</tr>
<tr>
+ <td valign="top">failonwarning</td>
+ <td valign="top">Stop the buildprocess if a warning is emitted -
+ i.e. if javadoc's output contains the word "warning". <em>since
+ Ant 1.9.4</em></td>
+ <td align="center" valign="top">all</td>
+ <td align="center" valign="top">No</td>
+ </tr>
+ <tr>
<td valign="top">excludepackagenames</td>
<td valign="top">comma separated list of packages you don't want
docs for -- see also the nested <code>excludepackage</code> element.</td>
Modified: ant/site/ant/production/manual/Tasks/junit.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/junit.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/junit.html (original)
+++ ant/site/ant/production/manual/Tasks/junit.html Tue May 6 02:08:50 2014
@@ -247,7 +247,16 @@ elements</a>).</p>
<em>since Ant 1.8.2</em> - <strong>Ant 1.7.0 to 1.8.1 behave as
if this attribute was true by default.</strong></td>
<td align="center" valign="top">No</td>
- </tr>
+ </tr>
+ <tr>
+ <td valign="top">threads</td>
+ <td valign="top">a number of threads to run the tests in.<br/>
+ When this attribute is specified the tests will be split arbitrarily among the threads.<br/>
+ requires that the tests be forked with the <code>perTest</code>
+ option to be operative.<br/>
+ <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No</td>
+ </tr>
</table>
<p>By using the <code>errorproperty</code> and <code>failureproperty</code>
Modified: ant/site/ant/production/manual/Tasks/local.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/local.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/local.html (original)
+++ ant/site/ant/production/manual/Tasks/local.html Tue May 6 02:08:50 2014
@@ -37,7 +37,7 @@ top-level operations are carried out; it
in the buildfile. <b>Since Ant 1.8</b></p>
<p>A property is made local if the <code><local></code> task
- preceedes its definition. See the examples section.</p>
+ precedes its definition. See the examples section.</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
Modified: ant/site/ant/production/manual/Tasks/mail.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/mail.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/mail.html (original)
+++ ant/site/ant/production/manual/Tasks/mail.html Tue May 6 02:08:50 2014
@@ -98,7 +98,19 @@
<td valign="top">File to send as the body of the email. Property
values in the file will be expanded.</td>
</tr>
- <td valign="top">messagemimetype</td>
+ <tr>
+ <td valign="top">messagefileinputencoding</td>
+ <td valign="top">
+ Specifies the encoding of the input file. Please see
+ <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html">
+ Supported Encodings</a> for a list of possible
+ values. Defaults to the platform's default character
+ encoding. <em>Since Ant 1.9.4</em>
+ </td>
+ <td valign="top" align="center">No</td>
+ </tr>
+ <tr>
+ <td valign="top">messagemimetype</td>
<td valign="top">The content type of the message. The default is
<code>text/plain</code>.</td>
<td align="center" valign="top">No</td>
@@ -253,6 +265,17 @@ attributes:</p>
These options are mutually exclusive.</td>
<td align="center" valign="top">No</td>
</tr>
+ <tr>
+ <td valign="top">inputencoding</td>
+ <td valign="top">
+ Specifies the encoding of the input file. Please see
+ <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html">
+ Supported Encodings</a> for a list of possible
+ values. Defaults to the platform's default character
+ encoding. <em>Since Ant 1.9.4</em>
+ </td>
+ <td valign="top" align="center">No</td>
+ </tr>
</table>
<p>If the <code>src</code> attribute is not specified, then text can be added
Modified: ant/site/ant/production/manual/Tasks/sql.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/sql.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/sql.html (original)
+++ ant/site/ant/production/manual/Tasks/sql.html Tue May 6 02:08:50 2014
@@ -91,6 +91,12 @@ and <b>abort</b> execution and transacti
<td align="center">No - defaults to default JVM encoding</td>
</tr>
<tr>
+ <td valign="top">outputencoding</td>
+ <td valign="top">The encoding of the files holding
+ results. <em>since 1.9.4</em</td>
+ <td align="center">No - defaults to default JVM encoding</td>
+</tr>
+<tr>
<td width="12%" valign="top">delimiter</td>
<td width="78%" valign="top">String that separates SQL statements</td>
<td width="10%" valign="top">No, default ";"</td>
Modified: ant/site/ant/production/manual/Tasks/sshexec.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/sshexec.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/sshexec.html (original)
+++ ant/site/ant/production/manual/Tasks/sshexec.html Tue May 6 02:08:50 2014
@@ -122,16 +122,35 @@ and won't work with versions of jsch ear
<td align="center" valign="top">No, defaults to false</td>
</tr>
<tr>
+ <td valign="top">suppresssystemerr</td>
+ <td valign="top">Whether to suppress system err.
+ <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No, defaults to false</td>
+ </tr>
+ <tr>
<td valign="top">output</td>
<td valign="top">Name of a file to which to write the output.</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
+ <td valign="top">errorOutput</td>
+ <td valign="top">The file to which the standard error of the
+ command should be redirected. <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No</td>
+ </tr>
+ <tr>
<td valign="top">append</td>
<td valign="top">Whether output file should be appended to or overwritten. Defaults to false, meaning overwrite any existing file.</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
+ <td valign="top">errAppend</td>
+ <td valign="top">Whether errorOutput file should be appended to or
+ overwritten. Defaults to false, meaning overwrite any existing
+ file. <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No</td>
+ </tr>
+ <tr>
<td valign="top">outputproperty</td>
<td valign="top">The name of a property in which the output of the
command should be stored. If you use the commandResource
@@ -140,6 +159,19 @@ and won't work with versions of jsch ear
<td align="center" valign="top">No</td>
</tr>
<tr>
+ <td valign="top">errorproperty</td>
+ <td valign="top">The name of a property in which the standard error of the
+ command should be stored. <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No</td>
+ </tr>
+ <tr>
+ <td valign="top">resultproperty</td>
+ <td valign="top">the name of a property in which the return code
+ of the command should be stored. Only of interest if
+ failonerror=false. <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No</td>
+ </tr>
+ <tr>
<td valign="top">timeout</td>
<td valign="top">Stop the command if it doesn't finish within the
specified time (given in milliseconds <b>unlike telnet, which
@@ -191,6 +223,13 @@ and won't work with versions of jsch ear
<em>since Ant 1.8.3</em></td>
<td align="center" valign="top">No, defaults to false</td>
</tr>
+ <tr>
+ <td valign="top">useSystemIn</td>
+ <td valign="top">Whether to pass the current standard input to the
+ remote process.
+ <em>since Ant 1.9.4</em></td>
+ <td align="center" valign="top">No, defaults to false</td>
+ </tr>
</table>
<h3>Examples</h3>
Modified: ant/site/ant/production/manual/Tasks/style.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Tasks/style.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Tasks/style.html (original)
+++ ant/site/ant/production/manual/Tasks/style.html Tue May 6 02:08:50 2014
@@ -225,7 +225,7 @@ element which is used to perform Entity
<td valign="top" align="center">No</td>
</tr>
<tr>
- <td valign="top">supressWarnings</td>
+ <td valign="top">suppressWarnings</td>
<td valign="top">Whether processor warnings shall be suppressed.
This option requires support by the processor, it is supported by
the trax processor bundled with Ant.
Modified: ant/site/ant/production/manual/Types/patternset.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Types/patternset.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Types/patternset.html (original)
+++ ant/site/ant/production/manual/Types/patternset.html Tue May 6 02:08:50 2014
@@ -98,7 +98,7 @@ your build file, you should use the incl
attributes or elements. Using the attribute, you can only specify a
single file of each type, while the nested elements can be specified
more than once - the nested elements also support if/unless attributes
-you can use to test the existance of a property.</p>
+you can use to test the existence of a property.</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
Modified: ant/site/ant/production/manual/Types/redirector.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Types/redirector.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Types/redirector.html (original)
+++ ant/site/ant/production/manual/Types/redirector.html Tue May 6 02:08:50 2014
@@ -136,6 +136,16 @@ source (input) and destination (output/e
</td>
<td align="center" valign="top">No, default is <code>true</code></td>
</tr>
+ <tr>
+ <td valign="top">binaryOutput</td>
+ <td valign="top">When set to true Ant will not try to split the
+ output into lines - which it will usually do in order to separate
+ error from normal output. This setting will not prevent binary
+ output from getting corrupted if you also specify filter chains.
+ <i>Since Ant 1.9.4</i>.
+ </td>
+ <td align="center" valign="top">No, default is <code>false</code></td>
+ </tr>
</table>
<h3>Parameters specified as nested elements</h3>
<h4>inputmapper</h4>
Modified: ant/site/ant/production/manual/Types/resources.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Types/resources.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Types/resources.html (original)
+++ ant/site/ant/production/manual/Types/resources.html Tue May 6 02:08:50 2014
@@ -320,6 +320,7 @@ Ant's "legacy" datatypes have been modif
<ul>
<li><a href="fileset.html">fileset</a>,
<a href="dirset.html">dirset</a>,
+ <a href="multirootfileset.html">multirootfileset</a>,
<a href="filelist.html">filelist</a>, and
<a href="../using.html#path">path</a>
(and derivative types) expose <a href="#file">file</a> resources
Modified: ant/site/ant/production/manual/Types/selectors-program.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/Types/selectors-program.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/Types/selectors-program.html (original)
+++ ant/site/ant/production/manual/Types/selectors-program.html Tue May 6 02:08:50 2014
@@ -140,78 +140,58 @@
<p>For a robust component (and selectors are (Project)Components) tests are
necessary. For testing Tasks we use JUnit TestCases - more specific
- <tt>org.apache.tools.ant.BuildFileTest extends junit.framework.TestCase</tt>.
+ <tt>org.apache.tools.ant.BuildFileRule extends org.junit.rules.ExternalResource</tt>.
Some of its features like configure the (test) project by reading its buildfile and
- execute targets we need for selector tests also. Therefore we use that BuildFileTest.
+ execute targets we need for selector tests also. Therefore we use that BuildFileRule.
But testing selectors requires some more work: having a set of files, instantiate
and configure the selector, check the selection work and more. Because we usually
extend <tt>BaseExtendSelector</tt> its features have to be tested also (e.g. setError()).
</p>
- <p>That's why we have a base class for doing our selector tests:
- <tt>org.apache.tools.ant.types.selectors.BaseSelectorTest</tt>.</p>
+ <p>That's why we have a test rule for doing our selector tests:
+ <tt>org.apache.tools.ant.types.selectors.BaseSelectorRule</tt>.</p>
- <p>This class extends TestCase and therefore can included in the set of Ant's
- unit tests. It holds an instance of preconfigured BuildFileTest. Configuration
- is done by parsing the src/etc/testcases/types/selectors.xml. BaseSelectorTest
+ <p>This class extends ExternalResource and therefore can included in the set of Ant's
+ unit tests. It holds an instance of preconfigured BuildFileRule. Configuration
+ is done by parsing the src/etc/testcases/types/selectors.xml. BaseSelectorRule
then gives us helper methods for handling multiple selections. </p>
<p>Because the term "testcase" or "testenvironment" are so often used, this
- special testenvironment got a new name: <i>bed</i>. Like you initialize the
- test environment by calling setUp() and cleaning by calling tearDown() (<i>or like
- to make your bed before go sleeping</i>) you have to do that work with your
- <i>bed</i> by calling <tt>makeBed()</tt> respective <tt>cleanupBed()</tt>.</p>
+ special testenvironment got a new name: <i>bed</i>. The setup and cleanup of
+ the bed is all handled by the BaseSelectorRule so any test only has to handle
+ the actual test scenarios</p>
- <p>A usual test scenario is<ol>
- <li>make the bed</li>
+ <p>A usual test scenario is:</p>
+ <ol>
<li>instantiate the selector</li>
<li>configure the selector</li>
<li>let the selector do some work</li>
<li>verify the work</li>
- <li>clean the bed</li>
- </ol>
- </p>
+ </ol>
+
- <p>For common way of instantiation you have to override the <tt>getInstance()</tt>
- simply by returning a new object of your selector. For easier "selection and verification work"
- BaseSelectorTest provides the method <tt>performTests()</tt> which
- iterates over all files (and directories) in the String array <tt>filenames</tt>
- and checks whether the given selector returns the expected result. If an error
- occurred (especially the selector does not return the expected result) the test
- fails and the failing filenames are logged.</p>
<p>An example test would be:<pre>
package org.apache.tools.ant.types.selectors;
-public class MySelectorTest extends BaseSelectorTest {
-
- public MySelectorTest(String name) {
- super(name);
- }
+public class MySelectorTest {
- public BaseSelector getInstance() {
- return new MySelector();
- }
+ @Rule
+ public final BaseSelectorRule selectorRule = new BaseSelectorRule();
+ @Test
public void testCase1() {
- try {
- // initialize test environment 'bed'
- makeBed();
-
- // Configure the selector
- MySelector s = (MySelector)getSelector();
- s.addParam("key1", "value1");
- s.addParam("key2", "value2");
- s.setXX(true);
- s.setYY("a value");
-
- // do the tests
- performTests(s, "FTTTTTTTTTTT"); // First is not selected - rest is
-
- } finally {
- // cleanup the environment
- cleanupBed();
- }
+
+
+ // Configure the selector
+ MySelector s = new MySelector();
+ s.addParam("key1", "value1");
+ s.addParam("key2", "value2");
+ s.setXX(true);
+ s.setYY("a value");
+
+ // do the tests
+ assertEquals("FTTTTTTTT", selectorRule.selectionString(s));
}
}
</pre>
Modified: ant/site/ant/production/manual/conceptstypeslist.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/conceptstypeslist.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/conceptstypeslist.html (original)
+++ ant/site/ant/production/manual/conceptstypeslist.html Tue May 6 02:08:50 2014
@@ -51,6 +51,7 @@
<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/multirootfileset.html">MultiRootFileSet</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="Types/permissions.html">Permissions</a></li>
Modified: ant/site/ant/production/manual/cover.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/cover.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/cover.html (original)
+++ ant/site/ant/production/manual/cover.html Tue May 6 02:08:50 2014
@@ -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.9.3 User Manual</title>
+<title>Apache Ant 1.9.4 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.9.3 Manual</h1>
- <p align="left">This is the manual for version 1.9.3 of
+ <h1>Apache Ant™ 1.9.4 Manual</h1>
+ <p align="left">This is the manual for version 1.9.4 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
Propchange: ant/site/ant/production/manual/cover.html
------------------------------------------------------------------------------
Merged /ant/core/trunk/manual/cover.html:r1553123-1591179
Merged /ant/core/tags/ANT_194/manual/cover.html:r1591180-1592649
Modified: ant/site/ant/production/manual/credits.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/credits.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/credits.html (original)
+++ ant/site/ant/production/manual/credits.html Tue May 6 02:08:50 2014
@@ -62,7 +62,7 @@
</ul>
<center>
-<p>Version: 1.9.3</p>
+<p>Version: 1.9.4</p>
</center>
Modified: ant/site/ant/production/manual/install.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/install.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/install.html (original)
+++ ant/site/ant/production/manual/install.html Tue May 6 02:08:50 2014
@@ -105,7 +105,7 @@ Choose the format that is best supported
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
+ behaving weirdly after installing something, try the
<a href="#diagnostics">diagnostics</a> advice.
</p>
Modified: ant/site/ant/production/manual/targets.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/targets.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/targets.html (original)
+++ ant/site/ant/production/manual/targets.html Tue May 6 02:08:50 2014
@@ -94,7 +94,7 @@
<p>Only one propertyname can be specified in the if/unless
clause. If you want to check multiple conditions, you can use a
- dependend target for computing the result for the check:</p>
+ dependent target for computing the result for the check:</p>
<blockquote><pre>
<target name="myTarget" depends="myTarget.check" if="myTarget.run">
Modified: ant/site/ant/production/manual/tutorial-tasks-filesets-properties.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/tutorial-tasks-filesets-properties.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/tutorial-tasks-filesets-properties.html (original)
+++ ant/site/ant/production/manual/tutorial-tasks-filesets-properties.html Tue May 6 02:08:50 2014
@@ -135,20 +135,28 @@ to them, sorry :-)</p>
we can call that from our testcase:
<pre class="code">
-import org.apache.tools.ant.BuildFileTest;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.Before;
+import org.junit.Assert;
+import org.apache.tools.ant.BuildFileRule;
-public class FindTest extends BuildFileTest {
- public FindTest(String name) {
- super(name);
- }
+public class FindTest {
+
+ @Rule
+ public final BuildFileRule buildRule = new BuildFileRule();
+
+ @Before
public void setUp() {
configureProject("build.xml");
}
+ @Test
public void testSimple() {
- <b>expectLog("use.simple", "test-value");</b>
+ buildRule.executeTarget("useSimgle");
+ <b>Assert.assertEquals("test-value", buildRule.getLog());</b>
}
}
</pre>
@@ -211,10 +219,14 @@ Maybe you find some more testcases. But
For each of these points we create a <tt>testXX</tt> method.</p>
<pre class="code">
-public class FindTest extends BuildFileTest {
+public class FindTest {
+
+ @Rule
+ public final BuildFileRule buildRule = new BuildFileRule();
... // constructor, setUp as above
+ @Test
public void testMissingFile() {
<b>Find find = new Find();</b>
try {
@@ -227,6 +239,7 @@ public class FindTest extends BuildFileT
}
}
+ @Test
public void testMissingLocation() {
Find find = new Find();
<b>find.setFile("ant.jar");</b>
@@ -238,6 +251,7 @@ public class FindTest extends BuildFileT
}
}
+ @Test
public void testMissingFileset() {
Find find = new Find();
find.setFile("ant.jar");
@@ -250,15 +264,17 @@ public class FindTest extends BuildFileT
}
}
+ @Test
public void testFileNotPresent() {
- executeTarget("testFileNotPresent");
- String result = getProject().getProperty("location.ant-jar");
+ buildRule.executeTarget("testFileNotPresent");
+ String result = buildRule.getProject().getProperty("location.ant-jar");
assertNull("Property set to wrong value.", result);
}
+ @Test
public void testFilePresent() {
- executeTarget("testFilePresent");
- String result = getProject().getProperty("location.ant-jar");
+ buildRule.executeTarget("testFilePresent");
+ String result = buildRule.getProject().getProperty("location.ant-jar");
assertNotNull("Property not set.", result);
assertTrue("Wrong file found.", result.endsWith("ant.jar"));
}
@@ -301,9 +317,9 @@ can implement our task, so that these te
is a common way, because we separate the prerequisites from the real work. On <b>//2</b> we iterate
over all nested filesets. If we don't want to handle multiple filesets, the <tt>addFileset()</tt>
method has to reject the further calls. We can get the result of a fileset via its DirectoryScanner
-like done in <b>//3</b>. After that we create a platform independend String representation of
+like done in <b>//3</b>. After that we create a platform independent String representation of
the file path (<b>//4</b>, can be done in other ways of course). We have to do the <tt>replace()</tt>,
-because we work with a simple string comparison. Ant itself is platform independant and can
+because we work with a simple string comparison. Ant itself is platform independent and can
therefore run on filesystems with slash (/, e.g. Linux) or backslash (\, e.g. Windows) as
path separator. Therefore we have to unify that. If we found our file we create an absolute
path representation on <b>//5</b>, so that we can use that information without knowing the basedir.
@@ -906,7 +922,7 @@ entry. For both we need some information
</tr>
<tr>
<th>attachments</th>
- <td><i>all files needed to apply the path</td>
+ <td><i>all files needed to apply the path</i></td>
<td>Archive containing a patch with the new and modified resources</td>
</tr>
</table>
Modified: ant/site/ant/production/manual/tutorial-writing-tasks.html
URL: http://svn.apache.org/viewvc/ant/site/ant/production/manual/tutorial-writing-tasks.html?rev=1592650&r1=1592649&r2=1592650&view=diff
==============================================================================
--- ant/site/ant/production/manual/tutorial-writing-tasks.html (original)
+++ ant/site/ant/production/manual/tutorial-writing-tasks.html Tue May 6 02:08:50 2014
@@ -17,8 +17,7 @@
<html>
<head>
<title>Tutorial: Writing Tasks</title>
- <link rel="stylesheet" type="text/css" href="stylesheets/style.css">
- </link>
+ <link rel="stylesheet" type="text/css" href="stylesheets/style.css" />
</head>
<body>
<h1>Tutorial: Writing Tasks</h1>
@@ -596,12 +595,9 @@ Next step: test ...
<h2>Test the Task</h2>
<p>We have written a test already: the use.* tasks in the buildfile. But its
difficult to test that automatically. Common (and in Ant) used is JUnit for
-that. For testing tasks Ant provides a baseclass <tt>org.apache.tools.ant.BuildFileTest</tt>.
-This class extends <tt>junit.framework.TestCase</tt> and can therefore be integrated
-into the unit tests. But this class provides some for testing tasks useful methods:
-initialize Ant, load a buildfile, execute targets,
-expecting BuildExceptions with a specified text, expect a special text
-in the output log ... </p>
+that. For testing tasks Ant provides a JUnit Rule <tt>org.apache.tools.ant.BuildFileRule</tt>.
+This class provides some for testing tasks useful methods:
+initialize Ant, load a buildfile, execute targets, capturing debug and run logs ...</p>
<p>In Ant it is usual that the testcase has the same name as the task with a prepending
<i>Test</i>, therefore we will create a file <i>HelloWorldTest.java</i>. Because we
@@ -677,49 +673,68 @@ and <code><junitreport></code>. So
...
</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.</p>
-<pre class="code">
-import org.apache.tools.ant.BuildFileTest;
+<p>Back to the <i>src/HelloWorldTest.java</i>. We create a class with a public
+<i>BuildFileRule</i> field annotated with JUnit's <i>@Rule</i> annotation. As per
+conventional JUnit4 tests, this class should have no constructors, or a default no-args
+constructor, setup methods should be annotated with <i>@Before</i>, tear down methods
+annotated with <i>@After</i> and any test method annotated with <i>@Test</i>.
+<pre class="code">
+import org.apache.tools.ant.BuildFileRule;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.Before;
+import org.junit.Rule;
+import org.apache.tools.ant.AntAssert;
+import org.apache.tools.ant.BuildException;
-public class HelloWorldTest extends BuildFileTest {
+public class HelloWorldTest {
- public HelloWorldTest(String s) {
- super(s);
- }
+ @Rule
+ public final BuildFileRule buildRule = new BuildFileRule();
+ @Before
public void setUp() {
// initialize Ant
- configureProject("build.xml");
+ buildRule.configureProject("build.xml");
}
+ @Test
public void testWithout() {
- executeTarget("use.without");
- assertEquals("Message was logged but should not.", getLog(), "");
+ buildRule.executeTarget("use.without");
+ assertEquals("Message was logged but should not.", buildRule.getLog(), "");
}
public void testMessage() {
// execute target 'use.nestedText' and expect a message
// 'attribute-text' in the log
- expectLog("use.message", "attribute-text");
+ buildRule.executeTarget("use.message");
+ Assert.assertEquals("attribute-text", buildRule.getLog());
}
+ @Test
public void testFail() {
// execute target 'use.fail' and expect a BuildException
// with text 'Fail requested.'
- expectBuildException("use.fail", "Fail requested.");
+ try {
+ buildRule.executeTarget("use.fail");
+ fail("BuildException should have been thrown as task was set to fail");
+ } catch (BuildException ex) {
+ Assert.assertEquals("fail requested", ex.getMessage());
+ }
+
}
+ @Test
public void testNestedText() {
- expectLog("use.nestedText", "nested-text");
+ buildRule.executeTarget("use.nestedText");
+ Assert.assertEquals("nested-text", buildRule.getLog());
}
+ @Test
public void testNestedElement() {
- executeTarget("use.nestedElement");
- assertLogContaining("Nested Element 1");
- assertLogContaining("Nested Element 2");
+ buildRule.executeTarget("use.nestedElement");
+ AntAssert.assertContains("Nested Element 1", buildRule.getLog());
+ AntAssert.assertContains("Nested Element 2", buildRule.getLog());
}
}
</pre>
@@ -790,14 +805,14 @@ The ZIP provided there contains</p><ul>
<a href="tutorial-writing-tasks-src.zip">here [7]</a> inside the manual.
</p>
-<p>Used Links:<br></br>
- [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>
- [2] <a href="http://ant.apache.org/manual/Tasks/taskdef.html">http://ant.apache.org/manual/Tasks/taskdef.html</a><br></br>
- [3] <a href="http://ant.apache.org/manual/develop.html#set-magic">http://ant.apache.org/manual/develop.html#set-magic</a><br></br>
- [4] <a href="http://ant.apache.org/manual/develop.html#nested-elements">http://ant.apache.org/manual/develop.html#nested-elements</a><br></br>
- [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>
- [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>
- [7] <a href="tutorial-writing-tasks-src.zip">tutorial-writing-tasks-src.zip</a><br></br>
+<p>Used Links:<br />
+ [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 />
+ [2] <a href="http://ant.apache.org/manual/Tasks/taskdef.html">http://ant.apache.org/manual/Tasks/taskdef.html</a><br />
+ [3] <a href="http://ant.apache.org/manual/develop.html#set-magic">http://ant.apache.org/manual/develop.html#set-magic</a><br />
+ [4] <a href="http://ant.apache.org/manual/develop.html#nested-elements">http://ant.apache.org/manual/develop.html#nested-elements</a><br />
+ [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 />
+ [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 />
+ [7] <a href="tutorial-writing-tasks-src.zip">tutorial-writing-tasks-src.zip</a><br />
</p>
</body>