You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@apache.org on 2004/11/16 09:12:38 UTC

cvs commit: ant/docs/manual/OptionalTasks replaceregexp.html

bodewig     2004/11/16 00:12:37

  Modified:    docs/manual running.html
                        tutorial-tasks-filesets-properties.html
                        tutorial-writing-tasks.html
               docs/manual/CoreTasks changelog.html chmod.html
               docs/manual/CoreTypes filterchain.html
                        selectors-program.html selectors.html
               docs/manual/OptionalTasks replaceregexp.html
  Log:
  > -> >
  
  Submitted by:	Larry Shatzer
  
  Revision  Changes    Path
  1.28      +1 -1      ant/docs/manual/running.html
  
  Index: running.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/running.html,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- running.html	31 Aug 2004 22:32:53 -0000	1.27
  +++ running.html	16 Nov 2004 08:12:30 -0000	1.28
  @@ -217,7 +217,7 @@
   <p>So here the result of a search through the codebase. Because system properties are
   available via Project instance, I searched for them with a
   <pre>
  -    grep -r -n "getPropert" * > ..\grep.txt
  +    grep -r -n "getPropert" * &gt; ..\grep.txt
   </pre>
   command. After that I filtered out the often-used but not-so-important values (most of them
   read-only values): <i>path.separator, ant.home, basedir, user.dir, os.name, ant.file,
  
  
  
  1.5       +178 -178  ant/docs/manual/tutorial-tasks-filesets-properties.html
  
  Index: tutorial-tasks-filesets-properties.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/tutorial-tasks-filesets-properties.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- tutorial-tasks-filesets-properties.html	9 Feb 2004 21:50:05 -0000	1.4
  +++ tutorial-tasks-filesets-properties.html	16 Nov 2004 08:12:31 -0000	1.5
  @@ -41,16 +41,16 @@
   <p>We can use the buildfile from the other tutorial and modify it a little bit.
   That�s the advantage of using properties - we can reuse nearly the whole script. :-)</p>
   <pre class="code">
  -&lt;?xml version="1.0" encoding="ISO-8859-1"?>
  -&lt;project name="<b>FindTask</b>" basedir="." default="test">
  +&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  +&lt;project name="<b>FindTask</b>" basedir="." default="test"&gt;
       ...
  -    &lt;target name="use.init" description="Taskdef� the <b>Find</b>-Task" depends="jar">
  -        &lt;taskdef name="<b>find</b>" classname="<b>Find</b>" classpath="${ant.project.name}.jar"/>
  -    &lt;/target>
  +    &lt;target name="use.init" description="Taskdef� the <b>Find</b>-Task" depends="jar"&gt;
  +        &lt;taskdef name="<b>find</b>" classname="<b>Find</b>" classpath="${ant.project.name}.jar"/&gt;
  +    &lt;/target&gt;
   
       <b>&lt;!-- the other use.* targets are deleted --&gt;</b>
       ...
  -&lt;/project>
  +&lt;/project&gt;
   </pre>
   
   <p>The buildfile is in the archive <a href="tutorial-tasks-filesets-properties.zip">
  @@ -63,13 +63,13 @@
   <p>Our first step is to set a property to a value and print the value of that property.
   So our scenario would be
   <pre class="code">
  -    &lt;find property="test" value="test-value"/>
  -    &lt;find print="test"/>
  +    &lt;find property="test" value="test-value"/&gt;
  +    &lt;find print="test"/&gt;
   </pre>
   ok, can be rewritten with the core tasks
   <pre class="code">
  -    &lt;property name="test" value="test-value"/>
  -    &lt;echo message="${test}"/>
  +    &lt;property name="test" value="test-value"/&gt;
  +    &lt;echo message="${test}"/&gt;
   </pre>
   but I have to start on known ground :-)</p>
   <p>So what to do? Handling three attributes (property, value, print) and an execute method.
  @@ -117,7 +117,7 @@
   
   <p><i>(by the way: a short word to ants "namespaces" (don�t
   be confused with xml namespaces which will be also introduces in the future (1.6 or 1.7):
  -an &lt;antcall> creates a new space for property names. All properties from the caller
  +an &lt;antcall&gt; creates a new space for property names. All properties from the caller
   are passed to the callee, but the callee can set its own properties without notice by the
   caller.)</i></p>
   
  @@ -158,9 +158,9 @@
   path is simply a fileset (or more precise: a collection of filesets). So our usage
   would be
   <pre class="code">
  -    &lt;find file="ant.jar" location="location.ant-jar">
  -        &lt;fileset dir="${ant.home}" includes="**/*.jar"/>
  -    &lt;/find>
  +    &lt;find file="ant.jar" location="location.ant-jar"&gt;
  +        &lt;fileset dir="${ant.home}" includes="**/*.jar"/&gt;
  +    &lt;/find&gt;
   </pre>
   </p>
   
  @@ -315,30 +315,30 @@
   environment we have to set that value for our own. And we use the &lt;junit&gt; task in fork-mode.
   Therefore we have do modify our buildfile:
   <pre class="code">
  -    &lt;target name="junit" description="Runs the unit tests" depends="jar">
  -        &lt;delete dir="${junit.out.dir.xml}" />
  -        &lt;mkdir  dir="${junit.out.dir.xml}" />
  -        &lt;junit printsummary="yes" haltonfailure="no">
  -            &lt;classpath refid="classpath.test"/>
  -            <b>&lt;sysproperty key="ant.home" value="${ant.home}"/></b>
  -            &lt;formatter type="xml"/>
  -            &lt;batchtest fork="yes" todir="${junit.out.dir.xml}">
  -                &lt;fileset dir="${src.dir}" includes="**/*Test.java"/>
  -            &lt;/batchtest>
  -        &lt;/junit>
  -    &lt;/target>
  +    &lt;target name="junit" description="Runs the unit tests" depends="jar"&gt;
  +        &lt;delete dir="${junit.out.dir.xml}"/&gt;
  +        &lt;mkdir  dir="${junit.out.dir.xml}"/&gt;
  +        &lt;junit printsummary="yes" haltonfailure="no"&gt;
  +            &lt;classpath refid="classpath.test"/&gt;
  +            <b>&lt;sysproperty key="ant.home" value="${ant.home}"/&gt;</b>
  +            &lt;formatter type="xml"/&gt;
  +            &lt;batchtest fork="yes" todir="${junit.out.dir.xml}"&gt;
  +                &lt;fileset dir="${src.dir}" includes="**/*Test.java"/&gt;
  +            &lt;/batchtest&gt;
  +        &lt;/junit&gt;
  +    &lt;/target&gt;
   </pre>
   
   
   <a name="path"/>
   <h2>Using nested paths</h2>
   <p>A task providing support for filesets is a very comfortable one. But there is another
  -possibility of bundling files: the &lt;path>. Fileset are easy if the files are all under
  +possibility of bundling files: the &lt;path&gt;. Fileset are easy if the files are all under
   a common base directory. But if this is not the case you have a problem. Another disadvantage
   is its speed: if you have only a few files in a huge directory structure, why not use a
  -&lt;filelist> instead? &lt;path>s combines these datatypes in that way that a path contains
  +&lt;filelist&gt; instead? &lt;path&gt;s combines these datatypes in that way that a path contains
   other paths, filesets, dirsets and filelists. This is why <a href="http://ant-contrib.sourceforge.net/">
  -Ant-Contribs [4]</a> &lt;foreach> task is modified to support paths instead of filesets. So we want that,
  +Ant-Contribs [4]</a> &lt;foreach&gt; task is modified to support paths instead of filesets. So we want that,
   too.</p>
   
   <p>Changing from fileset to path support is very easy:</p>
  @@ -354,15 +354,15 @@
           paths.add(path);
       }
   <i><b>and build file from:</b></i>
  -    &lt;find file="ant.jar" location="location.ant-jar">
  -        &lt;fileset dir="${ant.home}" includes="**/*.jar"/>
  -    &lt;/find>
  +    &lt;find file="ant.jar" location="location.ant-jar"&gt;
  +        &lt;fileset dir="${ant.home}" includes="**/*.jar"/&gt;
  +    &lt;/find&gt;
   <i><b>to:</b></i>
  -    &lt;find file="ant.jar" location="location.ant-jar">
  -        <b>&lt;path></b>                                                *3
  -            &lt;fileset dir="${ant.home}" includes="**/*.jar"/>
  -        &lt;/path>
  -    &lt;/find>
  +    &lt;find file="ant.jar" location="location.ant-jar"&gt;
  +        <b>&lt;path&gt;</b>                                                *3
  +            &lt;fileset dir="${ant.home}" includes="**/*.jar"/&gt;
  +        &lt;/path&gt;
  +    &lt;/find&gt;
   </pre>
   <p>On <b>*1</b> we rename only the vector. It�s just for better reading the source. On <b>*2</b>
   we have to provide the right method: an add<i>Name</i>(<i>Type</i> t). Therefore replace the
  @@ -414,13 +414,13 @@
   
   <p>In this section we will extend that task to support returning a list of all files.
   Lists as property values are not supported by Ant natively. So we have to see how other
  -tasks use lists. The most famous task using lists is Ant-Contribs &lt;foreach>. All list
  +tasks use lists. The most famous task using lists is Ant-Contribs &lt;foreach&gt;. All list
   elements are concatenated and separated with a customizable separator (default ',').</p>
   
   <p>So we do the following:</p>
   
   <pre class="code">
  -    &lt;find ... <b>delimiter=""</b>/> ... &lt;/find>
  +    &lt;find ... <b>delimiter=""</b>/&gt; ... &lt;/find&gt;
   </pre>
   
   <p>If the delimiter is set we will return all found files as list with that delimiter.</p>
  @@ -436,35 +436,35 @@
   <p>So we add as testcase:</p>
   <pre class="code">
   <b><i>in the buildfile:</i></b>
  -    &lt;target name="test.init">
  -        &lt;mkdir dir="test1/dir11/dir111"/>                             *1
  -        &lt;mkdir dir="test1/dir11/dir112"/>
  +    &lt;target name="test.init"&gt;
  +        &lt;mkdir dir="test1/dir11/dir111"/&gt;                             *1
  +        &lt;mkdir dir="test1/dir11/dir112"/&gt;
           ...
  -        &lt;touch file="test1/dir11/dir111/test"/>
  -        &lt;touch file="test1/dir11/dir111/not"/>
  +        &lt;touch file="test1/dir11/dir111/test"/&gt;
  +        &lt;touch file="test1/dir11/dir111/not"/&gt;
           ...
  -        &lt;touch file="test1/dir13/dir131/not2"/>
  -        &lt;touch file="test1/dir13/dir132/test"/>
  -        &lt;touch file="test1/dir13/dir132/not"/>
  -        &lt;touch file="test1/dir13/dir132/not2"/>
  -        &lt;mkdir dir="test2"/>
  -        &lt;copy todir="test2">                                          *2
  -            &lt;fileset dir="test1"/>
  -        &lt;/copy>
  -    &lt;/target>
  -
  -    &lt;target name="testMultipleFiles" depends="use.init,<b>test.init</b>">    *3
  -        &lt;find file="test" location="location.test" <b>delimiter=";"</b>>
  -            &lt;path>
  -                &lt;fileset dir="test1"/>
  -                &lt;fileset dir="test2"/>
  -            &lt;/path>
  -        &lt;/find>
  -        &lt;delete>                                                      *4
  -            &lt;fileset dir="test1"/>
  -            &lt;fileset dir="test2"/>
  -        &lt;/delete>
  -    &lt;/target>
  +        &lt;touch file="test1/dir13/dir131/not2"/&gt;
  +        &lt;touch file="test1/dir13/dir132/test"/&gt;
  +        &lt;touch file="test1/dir13/dir132/not"/&gt;
  +        &lt;touch file="test1/dir13/dir132/not2"/&gt;
  +        &lt;mkdir dir="test2"/&gt;
  +        &lt;copy todir="test2"&gt;                                          *2
  +            &lt;fileset dir="test1"/&gt;
  +        &lt;/copy&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="testMultipleFiles" depends="use.init,<b>test.init</b>"&gt;    *3
  +        &lt;find file="test" location="location.test" <b>delimiter=";"</b>&gt;
  +            &lt;path&gt;
  +                &lt;fileset dir="test1"/&gt;
  +                &lt;fileset dir="test2"/&gt;
  +            &lt;/path&gt;
  +        &lt;/find&gt;
  +        &lt;delete&gt;                                                      *4
  +            &lt;fileset dir="test1"/&gt;
  +            &lt;fileset dir="test2"/&gt;
  +        &lt;/delete&gt;
  +    &lt;/target&gt;
   
   <b><i>in the test class:</i></b>
       public void testMultipleFiles() {
  @@ -563,123 +563,123 @@
   As a template we have:
   
   <pre class="code">
  -&lt;html>
  +&lt;html&gt;
   
  -&lt;head>
  -&lt;meta http-equiv="Content-Language" content="en-us">
  -&lt;title> <b>Taskname</b> Task&lt;/title>
  -&lt;/head>
  -
  -&lt;body>
  -
  -&lt;h2>&lt;a name="<i>taskname</i>"><b>Taskname</b>&lt;/a>&lt;/h2>
  -&lt;h3>Description&lt;/h3>
  -&lt;p> <b>Describe the task.</b>&lt;/p>
  -
  -&lt;h3>Parameters&lt;/h3>
  -&lt;table border="1" cellpadding="2" cellspacing="0">
  -  &lt;tr>
  -    &lt;td valign="top">&lt;b>Attribute&lt;/b>&lt;/td>
  -    &lt;td valign="top">&lt;b>Description&lt;/b>&lt;/td>
  -    &lt;td align="center" valign="top">&lt;b>Required&lt;/b>&lt;/td>
  -  &lt;/tr>
  +&lt;head&gt;
  +&lt;meta http-equiv="Content-Language" content="en-us"&gt;
  +&lt;title&gt; <b>Taskname</b> Task&lt;/title&gt;
  +&lt;/head&gt;
  +
  +&lt;body&gt;
  +
  +&lt;h2&gt;&lt;a name="<i>taskname</i>"&gt;<b>Taskname</b>&lt;/a&gt;&lt;/h2&gt;
  +&lt;h3&gt;Description&lt;/h3&gt;
  +&lt;p&gt; <b>Describe the task.</b>&lt;/p&gt;
  +
  +&lt;h3&gt;Parameters&lt;/h3&gt;
  +&lt;table border="1" cellpadding="2" cellspacing="0"&gt;
  +  &lt;tr&gt;
  +    &lt;td valign="top"&gt;&lt;b&gt;Attribute&lt;/b&gt;&lt;/td&gt;
  +    &lt;td valign="top"&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/td&gt;
  +    &lt;td align="center" valign="top"&gt;&lt;b&gt;Required&lt;/b&gt;&lt;/td&gt;
  +  &lt;/tr&gt;
   
     <b>do this html row for each attribute (including inherited attributes)</b>
  -  &lt;tr>
  -    &lt;td valign="top">classname&lt;/td>
  -    &lt;td valign="top">the Java class to execute.&lt;/td>
  -    &lt;td align="center" valign="top">Either jar or classname&lt;/td>
  -  &lt;/tr>
  +  &lt;tr&gt;
  +    &lt;td valign="top"&gt;classname&lt;/td&gt;
  +    &lt;td valign="top"&gt;the Java class to execute.&lt;/td&gt;
  +    &lt;td align="center" valign="top"&gt;Either jar or classname&lt;/td&gt;
  +  &lt;/tr&gt;
   
  -&lt;/table>
  +&lt;/table&gt;
   
  -&lt;h3>Parameters specified as nested elements&lt;/h3>
  +&lt;h3&gt;Parameters specified as nested elements&lt;/h3&gt;
   
   <b>Describe each nested element (including inherited)</b>
  -&lt;h4><b>your nested element</b>&lt;/h4>
  -&lt;p> <b>description</b> &lt;/p>
  -&lt;p>&lt;em>since Ant 1.6&lt;/em>.&lt;/p>
  +&lt;h4&gt;your nested element</b>&lt;/h4&gt;
  +&lt;p&gt; <b>description</b> &lt;/p&gt;
  +&lt;p&gt;&lt;em&gt;since Ant 1.6&lt;/em&gt;.&lt;/p&gt;
   
  -&lt;h3>Examples&lt;/h3>
  -&lt;pre>
  +&lt;h3&gt;Examples&lt;/h3&gt;
  +&lt;pre&gt;
       <b>A code sample; don�t forget to escape the &lt; of the tags with &amp;lt;</b>
  -&lt;/pre>
  +&lt;/pre&gt;
   <b>what should that example do?</b>
   
  -&lt;/body>
  -&lt;/html>
  +&lt;/body&gt;
  +&lt;/html&gt;
   </pre>
   
   <p>For our task we have <a href="CoreTasks/find.html">that [6]</a>:</p>
   <pre class="code">
  -&lt;html>
  +&lt;html&gt;
   
  -&lt;head>
  -&lt;meta http-equiv="Content-Language" content="en-us">
  -&lt;title> Find Task&lt;/title>
  -&lt;/head>
  -
  -&lt;body>
  -
  -&lt;h2>&lt;a name="find">Find&lt;/a>&lt;/h2>
  -&lt;h3>Description&lt;/h3>
  -&lt;p>Searchs in a given path for a file and returns the absolute to it as property.
  -If delimiter is set this task returns all found locations.&lt;/p>
  -
  -&lt;h3>Parameters&lt;/h3>
  -&lt;table border="1" cellpadding="2" cellspacing="0">
  -  &lt;tr>
  -    &lt;td valign="top">&lt;b>Attribute&lt;/b>&lt;/td>
  -    &lt;td valign="top">&lt;b>Description&lt;/b>&lt;/td>
  -    &lt;td align="center" valign="top">&lt;b>Required&lt;/b>&lt;/td>
  -  &lt;/tr>
  -  &lt;tr>
  -    &lt;td valign="top">file&lt;/td>
  -    &lt;td valign="top">The name of the file to search.&lt;/td>
  -    &lt;td align="center" valign="top">yes&lt;/td>
  -  &lt;/tr>
  -  &lt;tr>
  -    &lt;td valign="top">location&lt;/td>
  -    &lt;td valign="top">The name of the property where to store the location&lt;/td>
  -    &lt;td align="center" valign="top">yes&lt;/td>
  -  &lt;/tr>
  -  &lt;tr>
  -    &lt;td valign="top">delimiter&lt;/td>
  -    &lt;td valign="top">A delimiter to use when returning the list&lt;/td>
  -    &lt;td align="center" valign="top">only if the list is required&lt;/td>
  -  &lt;/tr>
  -&lt;/table>
  -
  -&lt;h3>Parameters specified as nested elements&lt;/h3>
  -
  -&lt;h4>path&lt;/h4>
  -&lt;p>The path where to search the file.&lt;/p>
  -
  -&lt;h3>Examples&lt;/h3>
  -&lt;pre>
  -    &lt;find file="ant.jar" location="loc">
  -        &lt;path>
  -            &lt;fileset dir="${ant.home}"/>
  -        &lt;path>
  -    &lt;/find>
  -&lt;/pre>
  -Searches in Ants home directory for a file &lt;i>ant.jar&lt;/i> and stores its location in
  -property &lt;i>loc&lt;/i> (should be ANT_HOME/bin/ant.jar).
  -
  -&lt;pre>
  -    &lt;find file="ant.jar" location="loc" delimiter=";">
  -        &lt;path>
  -            &lt;fileset dir="C:/"/>
  -        &lt;path>
  -    &lt;/find>
  -    &lt;echo>ant.jar found in: ${loc}&lt;/echo>
  -&lt;/pre>
  -Searches in Windows C: drive for all &lt;i>ant.jar&lt;/i> and stores their locations in
  -property &lt;i>loc&lt;/i> delimited with &lt;i>';'&lt;/i>. (should need a long time :-)
  +&lt;head&gt;
  +&lt;meta http-equiv="Content-Language" content="en-us"&gt;
  +&lt;title&gt; Find Task&lt;/title&gt;
  +&lt;/head&gt;
  +
  +&lt;body&gt;
  +
  +&lt;h2&gt;&lt;a name="find"&gt;Find&lt;/a&gt;&lt;/h2&gt;
  +&lt;h3&gt;Description&lt;/h3&gt;
  +&lt;p&gt;Searchs in a given path for a file and returns the absolute to it as property.
  +If delimiter is set this task returns all found locations.&lt;/p&gt;
  +
  +&lt;h3&gt;Parameters&lt;/h3&gt;
  +&lt;table border="1" cellpadding="2" cellspacing="0"&gt;
  +  &lt;tr&gt;
  +    &lt;td valign="top"&gt;&lt;b&gt;Attribute&lt;/b&gt;&lt;/td&gt;
  +    &lt;td valign="top"&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/td&gt;
  +    &lt;td align="center" valign="top"&gt;&lt;b&gt;Required&lt;/b&gt;&lt;/td&gt;
  +  &lt;/tr&gt;
  +  &lt;tr&gt;
  +    &lt;td valign="top"&gt;file&lt;/td&gt;
  +    &lt;td valign="top"&gt;The name of the file to search.&lt;/td&gt;
  +    &lt;td align="center" valign="top"&gt;yes&lt;/td&gt;
  +  &lt;/tr&gt;
  +  &lt;tr&gt;
  +    &lt;td valign="top"&gt;location&lt;/td&gt;
  +    &lt;td valign="top"&gt;The name of the property where to store the location&lt;/td&gt;
  +    &lt;td align="center" valign="top"&gt;yes&lt;/td&gt;
  +  &lt;/tr&gt;
  +  &lt;tr&gt;
  +    &lt;td valign="top"&gt;delimiter&lt;/td&gt;
  +    &lt;td valign="top"&gt;A delimiter to use when returning the list&lt;/td&gt;
  +    &lt;td align="center" valign="top"&gt;only if the list is required&lt;/td&gt;
  +  &lt;/tr&gt;
  +&lt;/table&gt;
  +
  +&lt;h3&gt;Parameters specified as nested elements&lt;/h3&gt;
  +
  +&lt;h4&gt;path&lt;/h4&gt;
  +&lt;p&gt;The path where to search the file.&lt;/p&gt;
  +
  +&lt;h3&gt;Examples&lt;/h3&gt;
  +&lt;pre&gt;
  +    &lt;find file="ant.jar" location="loc"&gt;
  +        &lt;path&gt;
  +            &lt;fileset dir="${ant.home}"/&gt;
  +        &lt;path&gt;
  +    &lt;/find&gt;
  +&lt;/pre&gt;
  +Searches in Ants home directory for a file &lt;i&gt;ant.jar&lt;/i&gt; and stores its location in
  +property &lt;i&gt;loc&lt;/i&gt; (should be ANT_HOME/bin/ant.jar).
  +
  +&lt;pre&gt;
  +    &lt;find file="ant.jar" location="loc" delimiter=";"&gt;
  +        &lt;path&gt;
  +            &lt;fileset dir="C:/"/&gt;
  +        &lt;path&gt;
  +    &lt;/find&gt;
  +    &lt;echo&gt;ant.jar found in: ${loc}&lt;/echo&gt;
  +&lt;/pre&gt;
  +Searches in Windows C: drive for all &lt;i&gt;ant.jar&lt;/i&gt; and stores their locations in
  +property &lt;i&gt;loc&lt;/i&gt; delimited with &lt;i&gt;';'&lt;/i&gt;. (should need a long time :-)
   After that it prints out the result (e.g. C:/ant-1.5.4/bin/ant.jar;C:/ant-1.6/bin/ant.jar).
   
  -&lt;/body>
  -&lt;/html>
  +&lt;/body&gt;
  +&lt;/html&gt;
   </pre>
   
   
  @@ -755,9 +755,9 @@
   are any tests failing on our machine. (We can ignore these failing tests on later
   steps; windows syntax used here- translate to xNIX if needed):
   <pre class="output">
  -ANTHOME> build                                                    // 1
  -ANTHOME> set ANT_HOME=%CD%\dist                                   // 2
  -ANTHOME> ant test -Dtest.haltonfailure=false                      // 3
  +ANTHOME&gt; build                                                    // 1
  +ANTHOME&gt; set ANT_HOME=%CD%\dist                                   // 2
  +ANTHOME&gt; ant test -Dtest.haltonfailure=false                      // 3
   </pre>
   
   First we have to build our Ant distribution (<b>//1</b>). On <b>//2</b> we set the ANT_HOME
  @@ -782,14 +782,14 @@
   <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">Find&lt;/a>&lt;br></tt>
  +<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>
   </ul>
   
   Now our modifications are done and we will retest it:
   <pre class="output">
  -ANTHOME> build
  -ANTHOME> ant run-single-test                                      // 1
  +ANTHOME&gt; build
  +ANTHOME&gt; ant run-single-test                                      // 1
                -Dtestcase=org.apache.tools.ant.taskdefs.FindTest    // 2
                -Dtest.haltonfailure=false
   </pre>
  @@ -799,15 +799,15 @@
   
   <p>And ... oh, all tests fail: <i>Ant could not find the task or a class this task relies upon.</i></p>
   
  -<p>Ok: in the earlier steps we told Ant to use the Find class for the &lt;find> task (remember the
  -&lt;taskdef> statement in the "use.init" target). But now we want to introduce that task as
  +<p>Ok: in the earlier steps we told Ant to use the Find class for the &lt;find&gt; task (remember the
  +&lt;taskdef&gt; statement in the "use.init" target). But now we want to introduce that task as
   a core task. And nobody wants to taskdef the javac, echo, ... So what to do? The answer is the
   src/main/.../taskdefs/default.properties. Here is the mapping between taskname and implementing
   class done. So we add a <tt>find=org.apache.tools.ant.taskdefs.Find</tt> as the last core
   task (just before the <tt># optional tasks</tt> line). Now a second try:
   <pre class="output">
  -ANTHOME> build                                                    // 1
  -ANTHOME> ant run-single-test
  +ANTHOME&gt; build                                                    // 1
  +ANTHOME&gt; ant run-single-test
                -Dtestcase=org.apache.tools.ant.taskdefs.FindTest
                -Dtest.haltonfailure=false
   </pre>
  @@ -816,7 +816,7 @@
   source path. So we have to rebuild that jar. But now all tests pass and we check whether our class
   breaks some other tests.
   <pre class="output">
  -ANTHOME> ant test -Dtest.haltonfailure=false
  +ANTHOME&gt; ant test -Dtest.haltonfailure=false
   </pre>
   Because there are a lot of tests this step requires a little bit of time. So use the <i>run-single-test</i>
   during development and do the <i>test</i> only at the end (maybe sometimes during development too).
  @@ -863,7 +863,7 @@
   
   <p>So we will run the tests with
   <pre class="output">
  -ANTHOME> ant -f check.xml checkstyle htmlreport
  +ANTHOME&gt; ant -f check.xml checkstyle htmlreport
   </pre>
   I prefer the HTML report because there are lots of messages and we can navigate faster.
   Open the ANTHOME/build/reports/checkstyle/html/index.html and navigate to the Find.java. Now we
  @@ -900,7 +900,7 @@
   <tr>
     <th>body</th>
     <td><i>more details about the path</i></td>
  -  <td>This new task looks inside a nested &lt;path/> for occurrences of a file and stores
  +  <td>This new task looks inside a nested &lt;path/&gt; for occurrences of a file and stores
         all locations as a property. See the included manual for details.</td>
   </tr>
   <tr>
  
  
  
  1.5       +151 -151  ant/docs/manual/tutorial-writing-tasks.html
  
  Index: tutorial-writing-tasks.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/tutorial-writing-tasks.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- tutorial-writing-tasks.html	9 Feb 2004 21:50:05 -0000	1.4
  +++ tutorial-writing-tasks.html	16 Nov 2004 08:12:31 -0000	1.5
  @@ -44,52 +44,52 @@
   </ul>
   So the buildfile contains three targets.
   <pre class="code">
  -&lt;?xml version="1.0" encoding="ISO-8859-1"?>
  -&lt;project name="MyTask" basedir="." default="jar">
  +&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  +&lt;project name="MyTask" basedir="." default="jar"&gt;
   
  -    &lt;target name="clean" description="Delete all generated files">
  -        &lt;delete dir="classes"/>
  -        &lt;delete file="MyTasks.jar"/>
  -    &lt;/target>
  -
  -    &lt;target name="compile" description="Compiles the Task">
  -        &lt;javac srcdir="src" destdir="classes"/>
  -    &lt;/target>
  -
  -    &lt;target name="jar" description="JARs the Task">
  -        &lt;jar destfile="MyTask.jar" basedir="classes"/>
  -    &lt;/target>
  +    &lt;target name="clean" description="Delete all generated files"&gt;
  +        &lt;delete dir="classes"/&gt;
  +        &lt;delete file="MyTasks.jar"/&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="compile" description="Compiles the Task"&gt;
  +        &lt;javac srcdir="src" destdir="classes"/&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="jar" description="JARs the Task"&gt;
  +        &lt;jar destfile="MyTask.jar" basedir="classes"/&gt;
  +    &lt;/target&gt;
   
  -&lt;/project>
  +&lt;/project&gt;
   </pre>
   
   This buildfile uses often the same value (src, classes, MyTask.jar), so we should rewrite that
  -using &lt;property>s. On second there are some handicaps: &lt;javac> requires that the destination
  +using &lt;property&gt;s. On second there are some handicaps: &lt;javac&gt; requires that the destination
   directory exists; a call of "clean" with a non existing classes directory will fail; "jar" requires
   the execution of some steps bofore. So the refactored code is:
   
   <pre class="code">
  -&lt;?xml version="1.0" encoding="ISO-8859-1"?>
  -&lt;project name="MyTask" basedir="." default="jar">
  +&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  +&lt;project name="MyTask" basedir="." default="jar"&gt;
   
  -    <b>&lt;property name="src.dir" value="src"/></b>
  -    <b>&lt;property name="classes.dir" value="classes"/></b>
  +    <b>&lt;property name="src.dir" value="src"/&gt;</b>
  +    <b>&lt;property name="classes.dir" value="classes"/&gt;</b>
   
  -    &lt;target name="clean" description="Delete all generated files">
  -        &lt;delete dir="<b>${classes.dir}</b>" <b>failonerror="false"</b>/>
  -        &lt;delete file="<b>${ant.project.name}.jar</b>"/>
  -    &lt;/target>
  -
  -    &lt;target name="compile" description="Compiles the Task">
  -        <b>&lt;mkdir dir="${classes.dir}"/></b>
  -        &lt;javac srcdir="<b>${src.dir}</b>" destdir="${classes.dir}"/>
  -    &lt;/target>
  -
  -    &lt;target name="jar" description="JARs the Task" <b>depends="compile"</b>>
  -        &lt;jar destfile="${ant.project.name}.jar" basedir="${classes.dir}"/>
  -    &lt;/target>
  +    &lt;target name="clean" description="Delete all generated files"&gt;
  +        &lt;delete dir="<b>${classes.dir}</b>" <b>failonerror="false"</b>/&gt;
  +        &lt;delete file="<b>${ant.project.name}.jar</b>"/&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="compile" description="Compiles the Task"&gt;
  +        <b>&lt;mkdir dir="${classes.dir}"/&gt;</b>
  +        &lt;javac srcdir="<b>${src.dir}</b>" destdir="${classes.dir}"/&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="jar" description="JARs the Task" <b>depends="compile"</b>&gt;
  +        &lt;jar destfile="${ant.project.name}.jar" basedir="${classes.dir}"/&gt;
  +    &lt;/target&gt;
   
  -&lt;/project>
  +&lt;/project&gt;
   </pre>
   <i>ant.project.name</i> is one of the
   <a href="http://ant.apache.org/manual/using.html#built-in-props" target="_blank">
  @@ -118,19 +118,19 @@
   <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">
  -&lt;taskdef> [2]</a>. And for easier process we change the default clause:
  +&lt;taskdef&gt; [2]</a>. And for easier process we change the default clause:
   <pre class="code">
  -&lt;?xml version="1.0" encoding="ISO-8859-1"?>
  -&lt;project name="MyTask" basedir="." default="<b>use</b>">
  +&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  +&lt;project name="MyTask" basedir="." default="<b>use</b>"&gt;
   
       ...
   
  -    <b>&lt;target name="use" description="Use the Task" depends="jar">
  -        &lt;taskdef name="helloworld" classname="HelloWorld" classpath="${ant.project.name}.jar"/>
  -        &lt;helloworld/>
  -    &lt;/target></b>
  +    <b>&lt;target name="use" description="Use the Task" depends="jar"&gt;
  +        &lt;taskdef name="helloworld" classname="HelloWorld" classpath="${ant.project.name}.jar"/&gt;
  +        &lt;helloworld/&gt;
  +    &lt;/target&gt;</b>
   
  -&lt;/project>
  +&lt;/project&gt;
   </pre>
   
   Important is the <i>classpath</i>-attribute. Ant searches in its /lib directory for
  @@ -226,8 +226,8 @@
   <a name="attributes">
   <h2>Attributes</h2>
   <p>Now we want to specify the text of our message (it seems that we are
  -rewriting the &lt;echo/> task :-). First we well do that with an attribute.
  -It is very easy - for each attribute provide a <tt>public void set&lt;attributename>(&lt;type>
  +rewriting the &lt;echo/&gt; task :-). First we well do that with an attribute.
  +It is very easy - for each attribute provide a <tt>public void set&lt;attributename&gt;(&lt;type&gt;
   newValue)</tt> method and Ant will do the rest via reflection.</p>
   <pre class="code">
   import org.apache.tools.ant.Task;
  @@ -257,12 +257,12 @@
   
   <p>After that we have to modify our buildfile:
   <pre class="code">
  -    &lt;target name="use" description="Use the Task" depends="jar">
  +    &lt;target name="use" description="Use the Task" depends="jar"&gt;
           &lt;taskdef name="helloworld"
                    classname="HelloWorld"
  -                 classpath="${ant.project.name}.jar"/>
  -        &lt;helloworld <b>message="Hello World"</b>/>
  -    &lt;/target>
  +                 classpath="${ant.project.name}.jar"/&gt;
  +        &lt;helloworld <b>message="Hello World"</b>/&gt;
  +    &lt;/target&gt;
   </pre>
   That's all.</p>
   
  @@ -275,13 +275,13 @@
       <a href="http://ant.apache.org/manual/develop.html#set-magic">Manual
       'Writing Your Own Task' [3]</a>)</li>
   </ul>
  -Before calling the set-method all properties are resolved. So a <tt>&lt;helloworld message="${msg}"/></tt>
  +Before calling the set-method all properties are resolved. So a <tt>&lt;helloworld message="${msg}"/&gt;</tt>
   would not set the message string to "${msg}" if there is a property "msg" with a set value.
   
   
   <a name="NestedText"></a>
   <h2>Nested Text</h2>
  -<p>Maybe you have used the &lt;echo> task in a way like <tt>&lt;echo>Hello World&lt;/echo></tt>.
  +<p>Maybe you have used the &lt;echo&gt; 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.
   <pre class="code">
   ...
  @@ -305,7 +305,7 @@
   We use the first way of the three described ways. There are several steps for that:<ol>
   <li>We create a class for collecting all the infos the nested element should contain.
     This class is created by the same rules for attributes and nested elements
  -  as for the task (set&lt;attributename>() methods). </li>
  +  as for the task (set&lt;attributename&gt;() methods). </li>
   <li>The task holds multiple instances of this class in a list.</li>
   <li>A factory method instantiates an object, saves the reference in the list
     and returns it to Ant Core.</li>
  @@ -346,10 +346,10 @@
   <tt>public <i>classname</i> create<i>XML-name</i>()</tt>. Therefore we write in
   the buildfile
   <pre class="code">
  -        &lt;helloworld>
  -            &lt;message msg="Nested Element 1"/>
  -            &lt;message msg="Nested Element 2"/>
  -        &lt;/helloworld>
  +        &lt;helloworld&gt;
  +            &lt;message msg="Nested Element 1"/&gt;
  +            &lt;message msg="Nested Element 2"/&gt;
  +        &lt;/helloworld&gt;
   </pre>
   
   
  @@ -357,76 +357,76 @@
   <h2>Our task in a little more complex version</h2>
   <p>For recapitulation now a little refactored buildfile:
   <pre class="code">
  -&lt;?xml version="1.0" encoding="ISO-8859-1"?>
  -&lt;project name="MyTask" basedir="." default="use">
  +&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  +&lt;project name="MyTask" basedir="." default="use"&gt;
   
  -    &lt;property name="src.dir" value="src"/>
  -    &lt;property name="classes.dir" value="classes"/>
  +    &lt;property name="src.dir" value="src"/&gt;
  +    &lt;property name="classes.dir" value="classes"/&gt;
   
  -    &lt;target name="clean" description="Delete all generated files">
  -        &lt;delete dir="${classes.dir}" failonerror="false"/>
  -        &lt;delete file="${ant.project.name}.jar"/>
  -    &lt;/target>
  -
  -    &lt;target name="compile" description="Compiles the Task">
  -        &lt;mkdir dir="${classes.dir}"/>
  -        &lt;javac srcdir="${src.dir}" destdir="${classes.dir}"/>
  -    &lt;/target>
  -
  -    &lt;target name="jar" description="JARs the Task" depends="compile">
  -        &lt;jar destfile="${ant.project.name}.jar" basedir="${classes.dir}"/>
  -    &lt;/target>
  +    &lt;target name="clean" description="Delete all generated files"&gt;
  +        &lt;delete dir="${classes.dir}" failonerror="false"/&gt;
  +        &lt;delete file="${ant.project.name}.jar"/&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="compile" description="Compiles the Task"&gt;
  +        &lt;mkdir dir="${classes.dir}"/&gt;
  +        &lt;javac srcdir="${src.dir}" destdir="${classes.dir}"/&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="jar" description="JARs the Task" depends="compile"&gt;
  +        &lt;jar destfile="${ant.project.name}.jar" basedir="${classes.dir}"/&gt;
  +    &lt;/target&gt;
   
   
       &lt;target name="use.init"
               description="Taskdef the HelloWorld-Task"
  -            depends="jar">
  +            depends="jar"&gt;
           &lt;taskdef name="helloworld"
                    classname="HelloWorld"
  -                 classpath="${ant.project.name}.jar"/>
  -    &lt;/target>
  +                 classpath="${ant.project.name}.jar"/&gt;
  +    &lt;/target&gt;
   
   
       &lt;target name="use.without"
               description="Use without any"
  -            depends="use.init">
  -        &lt;helloworld/>
  -    &lt;/target>
  +            depends="use.init"&gt;
  +        &lt;helloworld/&gt;
  +    &lt;/target&gt;
   
       &lt;target name="use.message"
               description="Use with attribute 'message'"
  -            depends="use.init">
  -        &lt;helloworld message="attribute-text"/>
  -    &lt;/target>
  +            depends="use.init"&gt;
  +        &lt;helloworld message="attribute-text"/&gt;
  +    &lt;/target&gt;
   
       &lt;target name="use.fail"
               description="Use with attribute 'fail'"
  -            depends="use.init">
  -        &lt;helloworld fail="true"/>
  -    &lt;/target>
  +            depends="use.init"&gt;
  +        &lt;helloworld fail="true"/&gt;
  +    &lt;/target&gt;
   
       &lt;target name="use.nestedText"
               description="Use with nested text"
  -            depends="use.init">
  -        &lt;helloworld>nested-text&lt;/helloworld>
  -    &lt;/target>
  +            depends="use.init"&gt;
  +        &lt;helloworld&gt;nested-text&lt;/helloworld&gt;
  +    &lt;/target&gt;
   
       &lt;target name="use.nestedElement"
               description="Use with nested 'message'"
  -            depends="use.init">
  -        &lt;helloworld>
  -            &lt;message msg="Nested Element 1"/>
  -            &lt;message msg="Nested Element 2"/>
  -        &lt;/helloworld>
  -    &lt;/target>
  +            depends="use.init"&gt;
  +        &lt;helloworld&gt;
  +            &lt;message msg="Nested Element 1"/&gt;
  +            &lt;message msg="Nested Element 2"/&gt;
  +        &lt;/helloworld&gt;
  +    &lt;/target&gt;
   
   
       &lt;target name="use"
               description="Try all (w/out use.fail)"
               depends="use.without,use.message,use.nestedText,use.nestedElement"
  -    />
  +    /&gt;
   
  -&lt;/project>
  +&lt;/project&gt;
   </pre>
   
   And the code of the task:
  @@ -505,7 +505,7 @@
   
   And it works:
   <pre class="output">
  -C:\tmp\anttests\MyFirstTask>ant
  +C:\tmp\anttests\MyFirstTask&gt;ant
   Buildfile: build.xml
   
   compile:
  @@ -537,7 +537,7 @@
   
   BUILD SUCCESSFUL
   Total time: 3 seconds
  -C:\tmp\anttests\MyFirstTask>ant use.fail
  +C:\tmp\anttests\MyFirstTask&gt;ant use.fail
   Buildfile: build.xml
   
   compile:
  @@ -552,7 +552,7 @@
   C:\tmp\anttests\MyFirstTask\build.xml:36: Fail requested.
   
   Total time: 1 second
  -C:\tmp\anttests\MyFirstTask>
  +C:\tmp\anttests\MyFirstTask&gt;
   </pre>
   Next step: test ...
   
  @@ -580,66 +580,66 @@
   <a href="http://gump.covalent.net/jars/latest/ant/ant-testutil.jar">
   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 &lt;junit>
  -and &lt;junitreport>. So we add to the buildfile:
  +<p>For executing the test and creating a report we need the optional tasks &lt;junit&gt;
  +and &lt;junitreport&gt;. So we add to the buildfile:
   <pre class="code">
   ...
   <font color="#9F9F9F">&lt;project name="MyTask" basedir="." </font>default="test"<font color="#9F9F9F">&gt;</font>
   ...
  -    &lt;property name="ant.test.lib" value="ant-testutil.jar"/>
  -    &lt;property name="report.dir"   value="report"/>
  -    &lt;property name="junit.out.dir.xml"  value="${report.dir}/junit/xml"/>
  -    &lt;property name="junit.out.dir.html" value="${report.dir}/junit/html"/>
  -
  -    &lt;path id="classpath.run">
  -        &lt;path path="${java.class.path}"/>
  -        &lt;path location="${ant.project.name}.jar"/>
  -    &lt;/path>
  -
  -    &lt;path id="classpath.test">
  -        &lt;path refid="classpath.run"/>
  -        &lt;path location="${ant.test.lib}"/>
  -    &lt;/path>
  -
  -    &lt;target name="clean" description="Delete all generated files">
  -        &lt;delete failonerror="false" includeEmptyDirs="true">
  -            &lt;fileset dir="." includes="${ant.project.name}.jar"/>
  -            &lt;fileset dir="${classes.dir}"/>
  -            &lt;fileset dir="${report.dir}"/>
  -        &lt;/delete>
  -    &lt;/target>
  -
  -    <font color="#9F9F9F">&lt;target name="compile" description="Compiles the Task">
  -        &lt;mkdir dir="${classes.dir}"/>
  -        &lt;javac srcdir="${src.dir}" destdir="${classes.dir}" </font>classpath="${ant.test.lib}"<font color="#9F9F9F">/>
  -    &lt;/target></font>
  +    &lt;property name="ant.test.lib" value="ant-testutil.jar"/&gt;
  +    &lt;property name="report.dir"   value="report"/&gt;
  +    &lt;property name="junit.out.dir.xml"  value="${report.dir}/junit/xml"/&gt;
  +    &lt;property name="junit.out.dir.html" value="${report.dir}/junit/html"/&gt;
  +
  +    &lt;path id="classpath.run"&gt;
  +        &lt;path path="${java.class.path}"/&gt;
  +        &lt;path location="${ant.project.name}.jar"/&gt;
  +    &lt;/path&gt;
  +
  +    &lt;path id="classpath.test"&gt;
  +        &lt;path refid="classpath.run"/&gt;
  +        &lt;path location="${ant.test.lib}"/&gt;
  +    &lt;/path&gt;
  +
  +    &lt;target name="clean" description="Delete all generated files"&gt;
  +        &lt;delete failonerror="false" includeEmptyDirs="true"&gt;
  +            &lt;fileset dir="." includes="${ant.project.name}.jar"/&gt;
  +            &lt;fileset dir="${classes.dir}"/&gt;
  +            &lt;fileset dir="${report.dir}"/&gt;
  +        &lt;/delete&gt;
  +    &lt;/target&gt;
  +
  +    <font color="#9F9F9F">&lt;target name="compile" description="Compiles the Task"&gt;
  +        &lt;mkdir dir="${classes.dir}"/&gt;
  +        &lt;javac srcdir="${src.dir}" destdir="${classes.dir}" </font>classpath="${ant.test.lib}"<font color="#9F9F9F">/&gt;
  +    &lt;/target&gt;</font>
   ...
  -    &lt;target name="junit" description="Runs the unit tests" depends="jar">
  -        &lt;delete dir="${junit.out.dir.xml}" />
  -        &lt;mkdir  dir="${junit.out.dir.xml}" />
  -        &lt;junit printsummary="yes" haltonfailure="no">
  -            &lt;classpath refid="classpath.test"/>
  -            &lt;formatter type="xml"/>
  -            &lt;batchtest fork="yes" todir="${junit.out.dir.xml}">
  -                &lt;fileset dir="${src.dir}" includes="**/*Test.java"/>
  -            &lt;/batchtest>
  -        &lt;/junit>
  -    &lt;/target>
  -
  -    &lt;target name="junitreport" description="Create a report for the rest result">
  -        &lt;mkdir dir="${junit.out.dir.html}" />
  -        &lt;junitreport todir="${junit.out.dir.html}">
  -            &lt;fileset dir="${junit.out.dir.xml}">
  -                &lt;include name="*.xml"/>
  -            &lt;/fileset>
  -            &lt;report format="frames" todir="${junit.out.dir.html}"/>
  -        &lt;/junitreport>
  -    &lt;/target>
  +    &lt;target name="junit" description="Runs the unit tests" depends="jar"&gt;
  +        &lt;delete dir="${junit.out.dir.xml}"/&gt;
  +        &lt;mkdir  dir="${junit.out.dir.xml}"/&gt;
  +        &lt;junit printsummary="yes" haltonfailure="no"&gt;
  +            &lt;classpath refid="classpath.test"/&gt;
  +            &lt;formatter type="xml"/&gt;
  +            &lt;batchtest fork="yes" todir="${junit.out.dir.xml}"&gt;
  +                &lt;fileset dir="${src.dir}" includes="**/*Test.java"/&gt;
  +            &lt;/batchtest&gt;
  +        &lt;/junit&gt;
  +    &lt;/target&gt;
  +
  +    &lt;target name="junitreport" description="Create a report for the rest result"&gt;
  +        &lt;mkdir dir="${junit.out.dir.html}"/&gt;
  +        &lt;junitreport todir="${junit.out.dir.html}"&gt;
  +            &lt;fileset dir="${junit.out.dir.xml}"&gt;
  +                &lt;include name="*.xml"/&gt;
  +            &lt;/fileset&gt;
  +            &lt;report format="frames" todir="${junit.out.dir.html}"/&gt;
  +        &lt;/junitreport&gt;
  +    &lt;/target&gt;
   
       &lt;target name="test"
               depends="junit,junitreport"
               description="Runs unit tests and creates a report"
  -    />
  +    /&gt;
   ...
   </pre></p>
   
  @@ -693,7 +693,7 @@
   <p>When starting <tt>ant</tt> we'll get a short message to STDOUT and
   a nice HTML-report.
   <pre class="output">
  -C:\tmp\anttests\MyFirstTask>ant
  +C:\tmp\anttests\MyFirstTask&gt;ant
   Buildfile: build.xml
   
   compile:
  @@ -719,7 +719,7 @@
   
   BUILD SUCCESSFUL
   Total time: 7 seconds
  -C:\tmp\anttests\MyFirstTask>
  +C:\tmp\anttests\MyFirstTask&gt;
   </pre></p>
   
   
  
  
  
  1.16      +2 -2      ant/docs/manual/CoreTasks/changelog.html
  
  Index: changelog.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/changelog.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- changelog.html	9 Feb 2004 21:50:05 -0000	1.15
  +++ changelog.html	16 Nov 2004 08:12:31 -0000	1.16
  @@ -213,9 +213,9 @@
         &lt;revision&gt;1.3&lt;/revision&gt;
         &lt;prevrevision&gt;1.2&lt;/prevrevision&gt;
       &lt;/file&gt;
  -    &lt;msg&gt;&lt;![CDATA[Use URLs directly rather than go via a FIle.
  +    &lt;msg&gt;&lt;![CDATA[Use URLs directly rather than go via a File.
   
  -This allows temp[lates to be stored inside jar]]&gt;&lt;/msg&gt;
  +This allows templates to be stored inside jar]]&gt;&lt;/msg&gt;
     &lt;/entry&gt;
   &lt;/changelog&gt;
   </pre>
  
  
  
  1.17      +2 -2      ant/docs/manual/CoreTasks/chmod.html
  
  Index: chmod.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/chmod.html,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- chmod.html	9 Feb 2004 21:50:05 -0000	1.16
  +++ chmod.html	16 Nov 2004 08:12:31 -0000	1.17
  @@ -147,8 +147,8 @@
   </blockquote>
   
   <p>keeps non-owners from touching cgi scripts, files with a <code>.old</code>
  -extension or directories begining with <code>private_</code>. A directory 
  -ending in <code>.old</code> or a file begining with private_ would remain
  +extension or directories beginning with <code>private_</code>. A directory 
  +ending in <code>.old</code> or a file beginning with private_ would remain
   unaffected.</p>
   
   <hr>
  
  
  
  1.21      +12 -12    ant/docs/manual/CoreTypes/filterchain.html
  
  Index: filterchain.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTypes/filterchain.html,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- filterchain.html	15 Oct 2004 17:05:54 -0000	1.20
  +++ filterchain.html	16 Nov 2004 08:12:34 -0000	1.21
  @@ -648,34 +648,34 @@
       <TABLE>
       <TR>
        <TD bgcolor="#C0C0C0">&nbsp;</TD>
  -     <TD><PRE>&lt;filterchain>
  +     <TD><PRE>&lt;filterchain&gt;
       &lt;headfilter lines="2"/&gt;
  -&lt;/filterchain></PRE></TD>
  +&lt;/filterchain&gt;</PRE></TD>
       </TR>
       <TR>
        <TD bgcolor="#FF00FF">&nbsp;</TD>
  -     <TD><PRE>&lt;filterchain>
  +     <TD><PRE>&lt;filterchain&gt;
       &lt;tailfilter lines="-1" skip="2"/&gt;
  -&lt;/filterchain></PRE></TD>
  +&lt;/filterchain&gt;</PRE></TD>
       </TR>
       <TR>
        <TD bgcolor="#008000">&nbsp;</TD>
  -     <TD><PRE>&lt;filterchain>
  +     <TD><PRE>&lt;filterchain&gt;
       &lt;headfilter lines="-1" skip="2"/&gt;
  -&lt;/filterchain></PRE></TD>
  +&lt;/filterchain&gt;</PRE></TD>
       </TR>
       <TR>
        <TD bgcolor="#0000FF">&nbsp;</TD>
  -     <TD><PRE>&lt;filterchain>
  -    &lt;headfilter lines="-1" skip="2"/>
  -    &lt;tailfilter lines="-1" skip="2"/>
  -&lt;/filterchain></PRE></TD>
  +     <TD><PRE>&lt;filterchain&gt;
  +    &lt;headfilter lines="-1" skip="2"/&gt;
  +    &lt;tailfilter lines="-1" skip="2"/&gt;
  +&lt;/filterchain&gt;</PRE></TD>
       </TR>
       <TR>
        <TD bgcolor="#00FF00">&nbsp;</TD>
  -     <TD><PRE>&lt;filterchain>
  +     <TD><PRE>&lt;filterchain&gt;
       &lt;tailfilter lines="2"/&gt;
  -&lt;/filterchain></PRE></TD>
  +&lt;/filterchain&gt;</PRE></TD>
       </TR>
       </TABLE>
    </TD>
  
  
  
  1.6       +2 -2      ant/docs/manual/CoreTypes/selectors-program.html
  
  Index: selectors-program.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTypes/selectors-program.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- selectors-program.html	13 Sep 2003 16:35:52 -0000	1.5
  +++ selectors-program.html	16 Nov 2004 08:12:34 -0000	1.6
  @@ -201,9 +201,9 @@
       As an example of an error JUnit could log<pre>
       [junit]     FAILED
       [junit] Error for files: <font color=blue>.;copy.filterset.filtered;tar/gz/asf-logo.gif.tar.gz</font>
  -    [junit] expected:&lt;<font color=blue>FTTTFTTTF...</font>> but was:&lt;TTTTTTTTT...>
  +    [junit] expected:&lt;<font color=blue>FTTTFTTTF...</font>&gt; but was:&lt;TTTTTTTTT...&gt;
       [junit] junit.framework.ComparisonFailure: Error for files: .;copy.filterset.filtered;tar/gz/asf-logo.gif.tar.gz
  -    [junit] expected:&lt;FTTTFTTTF...> but was:&lt;TTTTTTTTT...>
  +    [junit] expected:&lt;FTTTFTTTF...&gt; but was:&lt;TTTTTTTTT...&gt;
       [junit]     at junit.framework.Assert.assertEquals(Assert.java:81)
       [junit]     at org.apache.tools.ant.types.selectors.BaseSelectorTest.performTest(BaseSelectorTest.java:194)
       </pre></p>
  
  
  
  1.26      +44 -44    ant/docs/manual/CoreTypes/selectors.html
  
  Index: selectors.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTypes/selectors.html,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- selectors.html	17 Jul 2004 16:08:41 -0000	1.25
  +++ selectors.html	16 Nov 2004 08:12:34 -0000	1.26
  @@ -613,7 +613,7 @@
   
       <blockquote><pre>
   &lt;fileset dir=&quot;${src}&quot;&gt;
  -  &lt;type type="dir"/>
  +  &lt;type type="dir"/&gt;
   &lt;/fileset&gt;
   </pre></blockquote>
   
  @@ -622,12 +622,12 @@
       directory, but avoid selecting empty directories, use:
   
   <blockquote><pre>
  -&lt;fileset dir="${src}">
  -    &lt;and>
  -        &lt;present targetdir="template"/>
  -        &lt;type type="file"/>
  -    &lt;/and>
  -&lt;/fileset>
  +&lt;fileset dir="${src}"&gt;
  +    &lt;and&gt;
  +        &lt;present targetdir="template"/&gt;
  +        &lt;type type="file"/&gt;
  +    &lt;/and&gt;
  +&lt;/fileset&gt;
   </pre></blockquote>
   
   
  @@ -816,62 +816,62 @@
       <p>Here are some examples of how to use the Modified Selector:</p>
   
       <blockquote><pre>
  -    &lt;copy todir="dest">
  -        &lt;fileset dir="src">
  -            &lt;modified/>
  -        &lt;/fileset>
  -    &lt;/copy
  +    &lt;copy todir="dest"&gt;
  +        &lt;fileset dir="src"&gt;
  +            &lt;modified/&gt;
  +        &lt;/fileset&gt;
  +    &lt;/copy&gt;
       </pre></blockquote>
       <p>This will copy all files from <i>src</i> to <i>dest</i> which content has changed.
       Using an updating PropertyfileCache with cache.properties and
       MD5-DigestAlgorithm.</p>
   
       <blockquote><pre>
  -    &lt;copy todir="dest">
  -        &lt;fileset dir="src">
  +    &lt;copy todir="dest"&gt;
  +        &lt;fileset dir="src"&gt;
               &lt;modified update="true"
                         seldirs="true"
                         cache="propertyfile"
                         algorithm="digest"
  -                      comparator="equal">
  -                &lt;param name="cache.cachefile"     value="cache.properties"/>
  -                &lt;param name="algorithm.algorithm" value="MD5"/>
  -            &lt;/modified>
  -        &lt;/fileset>
  -    &lt;/copy>
  +                      comparator="equal"&gt;
  +                &lt;param name="cache.cachefile"     value="cache.properties"/&gt;
  +                &lt;param name="algorithm.algorithm" value="MD5"/&gt;
  +            &lt;/modified&gt;
  +        &lt;/fileset&gt;
  +    &lt;/copy&gt;
       </pre></blockquote>
     <p>This is the same example rewritten as CoreSelector with setting the all the values
     (same as defaults are).</p>
   
       <blockquote><pre>
  -    &lt;copy todir="dest">
  -        &lt;fileset dir="src">
  -            &lt;custom class="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector">
  -                &lt;param name="update"     value="true"/>
  -                &lt;param name="seldirs"    value="true"/>
  -                &lt;param name="cache"      value="propertyfile"/>
  -                &lt;param name="algorithm"  value="digest"/>
  -                &lt;param name="comparator" value="equal"/>
  -                &lt;param name="cache.cachefile"     value="cache.properties"/>
  -                &lt;param name="algorithm.algorithm" value="MD5"/>
  -            &lt;/custom>
  -        &lt;/fileset>
  -    &lt;/copy>
  +    &lt;copy todir="dest"&gt;
  +        &lt;fileset dir="src"&gt;
  +            &lt;custom class="org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector"&gt;
  +                &lt;param name="update"     value="true"/&gt;
  +                &lt;param name="seldirs"    value="true"/&gt;
  +                &lt;param name="cache"      value="propertyfile"/&gt;
  +                &lt;param name="algorithm"  value="digest"/&gt;
  +                &lt;param name="comparator" value="equal"/&gt;
  +                &lt;param name="cache.cachefile"     value="cache.properties"/&gt;
  +                &lt;param name="algorithm.algorithm" value="MD5"/&gt;
  +            &lt;/custom&gt;
  +        &lt;/fileset&gt;
  +    &lt;/copy&gt;
       </pre></blockquote>
     <p>And this is the same rewritten as CustomSelector.</p>
   
       <blockquote><pre>
  -  &lt;target name="generate-and-upload-site">
  -      &lt;echo> generate the site using forrest &lt;/echo>
  -      &lt;antcall target="site"/>
  -
  -      &lt;echo> upload the changed file &lt;/echo>
  -      &lt;ftp server="${ftp.server}" userid="${ftp.user}" password="${ftp.pwd}">
  -          &lt;fileset dir="htdocs/manual">
  -              &lt;modified/>
  -          &lt;/fileset>
  -      &lt;/ftp>
  -  &lt;/target>
  +  &lt;target name="generate-and-upload-site"&gt;
  +      &lt;echo&gt; generate the site using forrest &lt;/echo&gt;
  +      &lt;antcall target="site"/&gt;
  +
  +      &lt;echo&gt; upload the changed file &lt;/echo&gt;
  +      &lt;ftp server="${ftp.server}" userid="${ftp.user}" password="${ftp.pwd}"&gt;
  +          &lt;fileset dir="htdocs/manual"&gt;
  +              &lt;modified/&gt;
  +          &lt;/fileset&gt;
  +      &lt;/ftp&gt;
  +  &lt;/target&gt;
       </pre></blockquote>
     <p>A useful scenario for this selector inside a build environment
     for homepage generation (e.g. with <a href="http://xml.apache.org/forrest/">
  
  
  
  1.22      +1 -1      ant/docs/manual/OptionalTasks/replaceregexp.html
  
  Index: replaceregexp.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/OptionalTasks/replaceregexp.html,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- replaceregexp.html	12 Nov 2004 10:36:28 -0000	1.21
  +++ replaceregexp.html	16 Nov 2004 08:12:35 -0000	1.22
  @@ -123,7 +123,7 @@
   
   <blockquote>
   <pre>
  -&lt;html>    &lt;body&gt;
  +&lt;html&gt;    &lt;body&gt;
   &lt;&lt;TAB&gt;&gt;&lt;h1&gt;    T E S T   &lt;/h1&gt;  &lt;&lt;TAB&gt;&gt;    
   &lt;&lt;TAB&gt;&gt; &lt;/body&gt;&lt;/html&gt;
   </pre></blockquote>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org