ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From arn...@locus.apache.org
Subject cvs commit: jakarta-ant/docs index.html
Date Sun, 06 Feb 2000 16:26:54 GMT
arnout      00/02/06 08:26:54

  Modified:    docs     index.html
  Log:
  Updated the manual to contain info on the pattern based directory scanning.
  
  Revision  Changes    Path
  1.4       +414 -145  jakarta-ant/docs/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/docs/index.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- index.html	2000/02/06 13:09:46	1.3
  +++ index.html	2000/02/06 16:26:53	1.4
  @@ -10,13 +10,13 @@
   <body>
   
   <h1>Ant User Manual</h1>
  -<p>by&nbsp;</p>
  +<p>by</p>
   <ul>
  -  <li>James Duncan Davison <a href="mailto:(duncan@x180.com">(duncan@x180.com</a>)</li>
  -  <li>Arnout J. Kuiper <a href="mailto:(ajkuiper@wxs.nl">(ajkuiper@wxs.nl</a>)</li>
  -  <li>Stefano Mazzocchi <a href="mailto:(stefano@apache.org">(stefano@apache.org</a>)</li>
  +  <li>Arnout J. Kuiper (<a href="mailto:(ajkuiper@wxs.nl">ajkuiper@wxs.nl</a>)</li>
  +  <li>James Duncan Davison (<a href="mailto:(duncan@x180.com">duncan@x180.com</a>)</li>
  +  <li>Stefano Mazzocchi (<a href="mailto:(stefano@apache.org">stefano@apache.org</a>)</li>
   </ul>
  -<p>Version 1.0.2 - 2000/01/26</p>
  +<p>Version 1.0.3 - 2000/02/06</p>
   <hr>
   <h2>Table of Contents</h2>
   <ul>
  @@ -26,6 +26,7 @@
     <li><a href="#installing">Installing Ant</a></li>
     <li><a href="#running">Running Ant</a></li>
     <li><a href="#buildfile">Writing a simple buildfile</a>
  +  <li><a href="#directorybasedtasks">Directory based tasks</a></li>
     <li><a href="#tasks">Built in Tasks</a>
     <li><a href="#writingowntask">Writing your own task</a></li>
     <li><a href="#license">License</a></li>
  @@ -82,11 +83,11 @@
   to build a bootstrap version of Ant.</p>
   <p>When finished, use</p>
   <blockquote>
  -<p><code>build.bat -Ddist.dir=&lt;directory to install Ant&gt; dist</code></p>
  +  <p><code>build.bat -Ddist.dir=&lt;directory to install Ant&gt; dist</code></p>
   </blockquote>
   <p>for Windows, and</p>
   <blockquote>
  -<p><code>build.sh -Ddist.dir=&lt;directory to install Ant&gt; dist</code></p>
  +  <p><code>build.sh -Ddist.dir=&lt;directory to install Ant&gt; dist</code></p>
   </blockquote>
   <p>for UNIX, to create a binary distribution of Ant. This distribution can be
   found in the directory you specified.</p>
  @@ -156,22 +157,22 @@
   -D&lt;property&gt;=&lt;value&gt;   use value for given property</pre>
   <h3>Examples</h3>
   <blockquote>
  -<pre>ant</pre>
  +  <pre>ant</pre>
   </blockquote>
   <p>runs Ant using the <code>build.xml</code> file in the current directory, on
   the default target.</p>
   <blockquote>
  -<pre>ant -buildfile test.xml</pre>
  +  <pre>ant -buildfile test.xml</pre>
   </blockquote>
   <p>runs Ant using the <code>test.xml</code> file in the current directory, on
   the default target.</p>
   <blockquote>
  -<pre>ant -buildfile test.xml dist</pre>
  +  <pre>ant -buildfile test.xml dist</pre>
   </blockquote>
   <p>runs Ant using the <code>test.xml</code> file in the current directory, on a
   target called <code>dist</code>.</p>
   <blockquote>
  -<pre>ant -buildfile test.xml -Dbuild=build/classes dist</pre>
  +  <pre>ant -buildfile test.xml -Dbuild=build/classes dist</pre>
   </blockquote>
   <p>runs Ant using the <code>test.xml</code> file in the current directory, on a
   target called <code>dist</code>. It also sets the <i>build</i> property to the
  @@ -180,7 +181,7 @@
   <p>When you have installed Ant in the do-it-yourself way, Ant can be started
   with:</p>
   <blockquote>
  -<pre>set CLASSPATH=c:\ant\lib\ant.jar;c:\ant\lib\xml.jar;c:\jdk1.2.2\lib\tools.jar
  +  <pre>set CLASSPATH=c:\ant\lib\ant.jar;c:\ant\lib\xml.jar;c:\jdk1.2.2\lib\tools.jar
   java -Dant.home=c:\ant org.apache.tools.ant.Main [options] [target]</pre>
   </blockquote>
   <p>These instructions actually do exactly the same as the <code>ant</code>
  @@ -264,7 +265,7 @@
   resolved before the task is executed.</p>
   <p>Tasks have a common structure:</p>
   <blockquote>
  -<pre>&lt;name attribute1=&quot;value1&quot; attribute2=&quot;value2&quot; ... /&gt;</pre>
  +  <pre>&lt;name attribute1=&quot;value1&quot; attribute2=&quot;value2&quot; ... /&gt;</pre>
   </blockquote>
   <p>where name is the name of the task, attribute-x the attribute name, and
   value-x the value of this attribute.</p>
  @@ -281,7 +282,7 @@
   This is resolved as &quot;build/classes&quot;.</p>
   <h3>Examples</h3>
   <blockquote>
  -<pre>&lt;project name=&quot;foo&quot; default=&quot;dist&quot; basedir=&quot;.&quot;&gt;
  +  <pre>&lt;project name=&quot;foo&quot; default=&quot;dist&quot; basedir=&quot;.&quot;&gt;
     &lt;target name=&quot;init&quot;&gt;
       &lt;tstamp/&gt;
       &lt;property name=&quot;build&quot; value=&quot;build&quot; /&gt;
  @@ -310,6 +311,95 @@
   </pre>
   </blockquote>
   <hr>
  +<h2><a name="directorybasedtasks">Directory based tasks</a></h2>
  +<p>Some tasks use directory trees for the task they perform. For instance, the <a
  +href="#javac">Javac task</a> which works upon a directory tree with .java files.
  +Sometimes it can be very useful to work on a subset of that directory tree. This
  +section describes how you can select a subset of such a directory tree.</p>
  +<p>Ant gives you two ways to create a subset, which both can be used at the same
  +time:</p>
  +<ul>
  +  <li>Only include files/directories that match at least one pattern of a set of
  +    patterns</li>
  +  <li>Exclude files/directories that match at least one pattern a set of
  +    patterns</li>
  +</ul>
  +<p>When both inclusion and exclusion are used, only files/directories that match
  +the include patterns, and don't match the exclude patterns are used.</p>
  +<h3>Patterns</h3>
  +<p>As described earlier, patterns are used for the inclusion and exclusion.
  +These patterns look very much like the patterns used in DOS and UNIX:</p>
  +<p>'*' matches zero or more characters, '?' matches one character.</p>
  +<p>Examples:</p>
  +<p>'*.java' matches '.java', 'x.java' and 'FooBar.java', but not 'FooBar.xml'
  +(does not end with '.java').</p>
  +<p>'?.java' matches 'x.java', 'A.java', but not '.java' or 'xyz.java' (both
  +don't have one character before '.java').</p>
  +<p>Combinations of '*'s and '?'s are allowed.</p>
  +<p>Matching is done per-directory. This means that first the first directory in
  +the pattern is matched against the first directory in the path to match. Then
  +the second directories are matched, and so on. E.g. when we have the pattern '/?abc/*/*.java'
  +and the path '/xabc/foobar/test.java', then first '?abc' is matched with 'xabc',
  +then '*' is matched with 'foobar' and finally '*.java' is matched with 'test.java'.
  +They all match so the path matches the pattern.</p>
  +<p>Too make things a bit more flexible, we add one extra feature, which makes it
  +possible to match multiple directory levels. This can be used to match a
  +complete directory tree, or a file anywhere in the directory tree. To do this, '**'
  +must be used as the name of a directory. When '**' is used as the name of a
  +directory in the pattern, it matches zero or more directories. For instance:
  +'/test/**' matches all files/directories under '/test/', such as '/test/x.java',
  +or '/test/foo/bar/xyz.html', but not '/xyz.xml'.</p>
  +<p>There is one &quot;shorthand&quot;, if a pattern ends with '/' or '\', then '**'
  +is appended. E.g. &quot;mypackage/test/&quot; is interpreted as were it &quot;mypackage/test/**&quot;.</p>
  +<p>Examples:</p>
  +<table border="1" cellpadding="2" cellspacing="0">
  +  <tr>
  +    <td valign="top">**/CVS/*</td>
  +    <td valign="top">Matches all files in CVS directories, that can be located
  +      anywhere in the directory tree.
  +      <p>Matches:</p>
  +      <p>CVS/Repository<br>
  +      org/apache/CVS/Entries<br>
  +      org/apache/jakarta/tools/ant/CVS/Entries</p>
  +      <p>But not:</p>
  +      <p>org/apache/CVS/foo/bar/Entries ('foo/bar/' part does not match)</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">org/apache/jakarta/**</td>
  +    <td valign="top">Matches all files in the org/apache/jakarta directory tree.
  +      <p>Matches:</p>
  +      <p>org/apache/jakarta/tools/ant/docs/index.html<br>
  +      org/apache/jakarta/test.xml</p>
  +      <p>But not:</p>
  +      <p>org/apache/xyz.java ('jakarta'/' part is missing)</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">org/apache/**/CVS/*</td>
  +    <td valign="top">Matches all files in CVS directories, that are located
  +      anywhere in the directory tree under org/apache.
  +      <p>Matches:</p>
  +      <p>org/apache/CVS/Entries<br>
  +      org/apache/jakarta/tools/ant/CVS/Entries</p>
  +      <p>But not:</p>
  +      <p>org/apache/CVS/foo/bar/Entries ('foo/bar/' part does not match)</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">**/test/**</td>
  +    <td valign="top">Matches all files which have a directory 'test' in their
  +      path, including 'test' as a filename.</td>
  +  </tr>
  +</table>
  +<p>When these patterns are used in inclusion and exclusion, you have a powerful
  +way to select just the files you want.</p>
  +<h3>Examples</h3>
  +<pre>  &lt;copydir srcdir=&quot;${src}&quot;
  +           destdir=&quot;${dist}&quot;
  +           includes=&quot;**/images/*&quot;
  +           excludes=&quot;**/*.gif&quot; /&gt;</pre>
  +<p>This copies all files in directories called &quot;images&quot;, that are
  +located in the directory tree &quot;${src}&quot; to the destination &quot;${dist}&quot;,
  +but excludes all &quot;*.gif&quot; files from the copy.</p>
  +<hr>
   <h2><a name="tasks">Built in tasks</a></h2>
   <ul>
     <li><a href="#ant">Ant</a></li>
  @@ -373,9 +463,9 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;ant antfile=&quot;subproject/subbuild.xml&quot; dir=&quot;subproject&quot;
  -target=&quot;compile&quot; /&gt;</code></p>
  -<p><code>&lt;ant dir=&quot;subproject&quot; /&gt;</code></p>
  +  <p><code>&lt;ant antfile=&quot;subproject/subbuild.xml&quot; dir=&quot;subproject&quot;
  +  target=&quot;compile&quot; /&gt;</code></p>
  +  <p><code>&lt;ant dir=&quot;subproject&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="chmod">Chmod</a></h2>
  @@ -402,8 +492,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;chmod src=&quot;${dist}/start.sh&quot; perm=&quot;ugo+rx&quot;
  -/&gt;</code></p>
  +  <p><code>&lt;chmod src=&quot;${dist}/start.sh&quot; perm=&quot;ugo+rx&quot;
  +  /&gt;</code></p>
   </blockquote>
   <p>makes the &quot;start.sh&quot; file readable and executable for anyone on a
   UNIX system.</p>
  @@ -411,11 +501,20 @@
   <h2><a name="copydir">Copydir</a></h2>
   <h3>Description</h3>
   <p>Copies a directory tree from the source to the destination.</p>
  -<p>It is possible to exclude a set of files from the files that are being
  -copied. This can be done with the <i>ignore</i> attribute. This attribute
  -contains the names of the files/directories that must be excluded from the copy.
  -The names specified in the <i>ignore</i> attribute are just names, they do not
  -contain any path information!</p>
  +<p>It is possible to refine the set of files that are being copied. This can be
  +done with the <i>includes</i>, <i>excludes</i> and <i>defaultexcludes</i>
  +attributes. With the <i>includes</i> attribute you specify the files you want to
  +have included by using patterns. The <i>exclude</i> attribute is used to specify
  +the files you want to have excluded. This is also done with patterns. And
  +finally with the <i>defaultexcludes</i> attribute, you can specify whether you
  +want to use default exclusions or not. See the section on <a
  +href="#directorybasedtasks">directory based tasks</a>, on how the
  +inclusion/exclusion of files works, and how to write patterns. The patterns are
  +relative to the <i>src</i> directory.</p>
  +<p>The <i>ignore</i> attribute contains the names of the files/directories that
  +must be excluded from the copy. The names specified in the <i>ignore</i>
  +attribute are just names, they do not contain any path information! Note that
  +this attribute has been replaced by the <i>excludes</i> attribute.</p>
   <h3>Parameters</h3>
   <table border="1" cellpadding="2" cellspacing="0">
     <tr>
  @@ -435,24 +534,49 @@
     </tr>
     <tr>
       <td valign="top">ignore</td>
  -    <td valign="top">comma separated list of filenames/directorynames to ignore.</td>
  +    <td valign="top">comma separated list of filenames/directorynames to ignore.
  +      No files (except default excludes) are excluded when omitted. (<b>deprecated</b>,
  +      use <i>excludes</i> instead).</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">includes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      included. All files are included when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">excludes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      excluded. No files (except default excludes) are excluded when omitted.</td>
       <td valign="top" align="center">No</td>
     </tr>
  +  <tr>
  +    <td valign="top">defaultexcludes</td>
  +    <td valign="top">indicates whether default excludes should be used or not
  +      (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
   </table>
   <h3>Examples</h3>
  -<blockquote>
  -<p><code>&lt;copydir src=&quot;${src}/resources&quot; dest=&quot;${dist}&quot;
  -/&gt;</code></p>
  -</blockquote>
  +<pre>  &lt;copydir src=&quot;${src}/resources&quot;
  +           dest=&quot;${dist}&quot;
  +  /&gt;</pre>
   <p>copies the directory <code>${src}/resources</code> to <code>${dist}</code>.</p>
  -<blockquote>
  -<p><code>&lt;copydir src=&quot;${src}/resources&quot; dest=&quot;${dist}&quot;
  -ignore=&quot;old, Test.java&quot; /&gt;</code></p>
  -</blockquote>
  -<p>copies the directory <code>${src}/resources</code> to <code>${dist}</code>.
  -All files/directories with the names <code>old</code> and <code>Test.java</code>
  -are excluded from the copy. When <code>old</code> or <code>Test.java</code> is
  -the name of a directory, then that whole directory is excluded from the copy.</p>
  +<pre>  &lt;copydir src=&quot;${src}/resources&quot;
  +           dest=&quot;${dist}&quot;
  +           includes=&quot;**/*.java&quot;
  +           excludes=&quot;**/Test.java&quot;
  +  /&gt;</pre>
  +<p>copies the directory <code>${src}/resources</code> to <code>${dist}</code>
  +recursively. All java files are copied, except for files with the name <code>Test.java</code>.</p>
  +<pre>  &lt;copydir src=&quot;${src}/resources&quot;
  +           dest=&quot;${dist}&quot;
  +           includes=&quot;**/*.java&quot;
  +           excludes=&quot;mypackage/test/**&quot; /&gt;</pre>
  +<p>copies the directory <code>${src}/resources</code> to <code>${dist}</code>
  +recursively. All java files are copied, except for the files under the <code>mypackage/test</code>
  +directory.</p>
   <hr>
   <h2><a name="copyfile">Copyfile</a></h2>
   <h3>Description</h3>
  @@ -479,10 +603,10 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;copyfile src=&quot;test.java&quot; dest=&quot;subdir/test.java&quot;
  -/&gt;</code></p>
  -<p><code>&lt;copyfile src=&quot;${src}/index.html&quot; dest=&quot;${dist}/help/index.html&quot;
  -/&gt;</code></p>
  +  <p><code>&lt;copyfile src=&quot;test.java&quot; dest=&quot;subdir/test.java&quot;
  +  /&gt;</code></p>
  +  <p><code>&lt;copyfile src=&quot;${src}/index.html&quot; dest=&quot;${dist}/help/index.html&quot;
  +  /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="cvs">Cvs</a></h2>
  @@ -521,8 +645,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;cvs cvsRoot=&quot;:pserver:anoncvs@jakarta.apache.org:/home/cvspublic&quot;
  -package=&quot;jakarta-tools&quot; dest=&quot;${ws.dir}&quot; /&gt;</code></p>
  +  <p><code>&lt;cvs cvsRoot=&quot;:pserver:anoncvs@jakarta.apache.org:/home/cvspublic&quot;
  +  package=&quot;jakarta-tools&quot; dest=&quot;${ws.dir}&quot; /&gt;</code></p>
   </blockquote>
   <p>This checks out the package/module &quot;jakarta-tools&quot; from the CVS
   repository pointed to by the cvsRoot attribute, and stores the files in &quot;${ws.dir}&quot;.</p>
  @@ -545,8 +669,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;delete file=&quot;/lib/ant.jar&quot; /&gt;</code></p>
  -<p><code>&lt;delete file=&quot;${ant}&quot; /&gt;</code></p>
  +  <p><code>&lt;delete file=&quot;/lib/ant.jar&quot; /&gt;</code></p>
  +  <p><code>&lt;delete file=&quot;${ant}&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="deltree">Deltree</a></h2>
  @@ -567,8 +691,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;deltree dir=&quot;dist&quot; /&gt;</code></p>
  -<p><code>&lt;deltree dir=&quot;${dist}&quot; /&gt;</code></p>
  +  <p><code>&lt;deltree dir=&quot;dist&quot; /&gt;</code></p>
  +  <p><code>&lt;deltree dir=&quot;${dist}&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="echo">Echo</a></h2>
  @@ -589,7 +713,7 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;echo message=&quot;Hello world&quot; /&gt;</code></p>
  +  <p><code>&lt;echo message=&quot;Hello world&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="exec">Exec</a></h2>
  @@ -629,8 +753,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;exec dir=&quot;${src}&quot; command=&quot;dir&quot; os=&quot;windows&quot;
  -output=&quot;dir.txt&quot; /&gt;</code></p>
  +  <p><code>&lt;exec dir=&quot;${src}&quot; command=&quot;dir&quot; os=&quot;windows&quot;
  +  output=&quot;dir.txt&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="expand">Expand</a></h2>
  @@ -656,8 +780,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;expand src=&quot;${tomcat_src}/tools-src.zip&quot; dest=&quot;${tools.home}&quot;
  -/&gt;</code></p>
  +  <p><code>&lt;expand src=&quot;${tomcat_src}/tools-src.zip&quot; dest=&quot;${tools.home}&quot;
  +  /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="get">Get</a></h2>
  @@ -692,8 +816,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;get src=&quot;http://jakarta.apache.org/&quot; dest=&quot;help/index.html&quot;
  -/&gt;</code></p>
  +  <p><code>&lt;get src=&quot;http://jakarta.apache.org/&quot; dest=&quot;help/index.html&quot;
  +  /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="gzip">GZip</a></h2>
  @@ -719,15 +843,29 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;gzip src=&quot;test.tar&quot; zipfile=&quot;test.tar.gz&quot; /&gt;</code></p>
  +  <p><code>&lt;gzip src=&quot;test.tar&quot; zipfile=&quot;test.tar.gz&quot;
  +  /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="jar">Jar</a></h2>
   <h3>Description</h3>
   <p>Jars a set of files.</p>
   <p>The <i>basedir</i> attribute is the reference directory from where to jar.</p>
  -<p>When &quot;*&quot; is used for items, all files in the basedir, and its
  -subdirectories, will be jarred. Otherwise all the files and directories
  +<p>It is possible to refine the set of files that are being jarred. This can be
  +done with the <i>includes</i>, <i>excludes</i> and <i>defaultexcludes</i>
  +attributes. With the <i>includes</i> attribute you specify the files you want to
  +have included by using patterns. The <i>exclude</i> attribute is used to specify
  +the files you want to have excluded. This is also done with patterns. And
  +finally with the <i>defaultexcludes</i> attribute, you can specify whether you
  +want to use default exclusions or not. See the section on <a
  +href="#directorybasedtasks">directory based tasks</a>, on how the
  +inclusion/exclusion of files works, and how to write patterns. The patterns are
  +relative to the <i>basedir</i> directory.</p>
  +<p>The <i>includes</i>, <i>excludes</i> and <i>defaultexcludes</i> attributes
  +replace the <i>items</i> and <i>ignore</i> attributes. The following explains
  +how the deprecated <i>items</i> and <i>ignore</i> attribute behave.</p>
  +<p>When &quot;*&quot; is used for <i>items</i>, all files in the basedir, and
  +its subdirectories, will be jarred. Otherwise all the files and directories
   mentioned in the items list will jarred. When a directory is specified, then all
   files within it are also jarred.</p>
   <p>With the <i>ignore</i> attribute, you can specify files or directories to
  @@ -753,32 +891,67 @@
     </tr>
     <tr>
       <td valign="top">items</td>
  -    <td valign="top">a comma separated list of the files/directories to jar.</td>
  -    <td valign="top" align="center">Yes</td>
  +    <td valign="top">a comma separated list of the files/directories to jar. All
  +      files are included when omitted. (<b>deprecated</b>, use <i>includes</i>
  +      instead).</td>
  +    <td valign="top" align="center">No</td>
     </tr>
     <tr>
       <td valign="top">ignore</td>
  -    <td valign="top">a comma separated list of the filenames/directorynames to
  -      exclude from the jar.</td>
  +    <td valign="top">comma separated list of filenames/directorynames to exclude
  +      from the jar. No files (except default excludes) are excluded when
  +      omitted. (<b>deprecated</b>, use <i>excludes</i> instead).</td>
       <td valign="top" align="center">No</td>
     </tr>
     <tr>
  +    <td valign="top">includes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      included. All files are included when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">excludes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      excluded. No files (except default excludes) are excluded when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">defaultexcludes</td>
  +    <td valign="top">indicates whether default excludes should be used or not
  +      (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
       <td valign="top">manifest</td>
       <td valign="top">the manifest file to use.</td>
       <td valign="top" align="center">No</td>
     </tr>
   </table>
   <h3>Examples</h3>
  -<blockquote>
  -<p><code>&lt;jar jarfile=&quot;${dist}/lib/app.jar&quot; basedir=&quot;${build}/classes&quot;
  -items=&quot;*&quot; /&gt;</code></p>
  -</blockquote>
  +<pre>  &lt;jar jarfile=&quot;${dist}/lib/app.jar&quot; basedir=&quot;${build}/classes&quot; /&gt;</pre>
   <p>jars all files in the <code>${build}/classes</code> directory in a file
   called <code>app.jar</code> in the <code>${dist}/lib</code> directory.</p>
  -<blockquote>
  -<p><code>&lt;jar jarfile=&quot;${dist}/lib/app.jar&quot; basedir=&quot;${build}/classes&quot;
  -items=&quot;*&quot; ignore=&quot;Test.class&quot; /&gt;</code></p>
  -</blockquote>
  +<pre>  &lt;jar jarfile=&quot;${dist}/lib/app.jar&quot;
  +       basedir=&quot;${build}/classes&quot;
  +       excludes=&quot;**/Test.class&quot;
  +  /&gt;</pre>
  +<p>jars all files in the <code>${build}/classes</code> directory in a file
  +called <code>app.jar</code> in the <code>${dist}/lib</code> directory. Files
  +with the name <code>Test.class</code> are excluded.</p>
  +<pre>  &lt;jar jarfile=&quot;${dist}/lib/app.jar&quot;
  +       basedir=&quot;${build}/classes&quot;
  +       includes=&quot;mypackage/test/**&quot;
  +       excludes=&quot;**/Test.class&quot;
  +  /&gt;</pre>
  +<p>jars all files in the <code>${build}/classes</code> directory in a file
  +called <code>app.jar</code> in the <code>${dist}/lib</code> directory. Only
  +files under the directory <code>mypackage/test</code> are used, and files with
  +the name <code>Test.class</code> are excluded.</p>
  +<h3>Deprecated examples</h3>
  +<pre>  &lt;jar jarfile=&quot;${dist}/lib/app.jar&quot; basedir=&quot;${build}/classes&quot; items=&quot;*&quot; /&gt;</pre>
  +<p>jars all files in the <code>${build}/classes</code> directory in a file
  +called <code>app.jar</code> in the <code>${dist}/lib</code> directory.</p>
  +<pre>  &lt;jar jarfile=&quot;${dist}/lib/app.jar&quot; basedir=&quot;${build}/classes&quot; items=&quot;*&quot; ignore=&quot;Test.class&quot; /&gt;</pre>
   <p>jars all files in the <code>${build}/classes</code> directory in a file
   called <code>app.jar</code> in the <code>${dist}/lib</code> directory.
   Files/directories with the name <code>Test.class</code> are excluded.</p>
  @@ -823,11 +996,11 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;java class=&quot;test.Main&quot; /&gt;</code></p>
  -<p><code>&lt;java class=&quot;test.Main&quot; args=&quot;-h&quot; /&gt;</code></p>
  -<p><code>&lt;java class=&quot;test.Main&quot; args=&quot;-h&quot;
  -fork=&quot;yes&quot; jvmargs=&quot;-Xrunhprof:cpu=samples,file=log.txt,depth=3&quot;
  -/&gt;</code></p>
  +  <p><code>&lt;java class=&quot;test.Main&quot; /&gt;</code></p>
  +  <p><code>&lt;java class=&quot;test.Main&quot; args=&quot;-h&quot; /&gt;</code></p>
  +  <p><code>&lt;java class=&quot;test.Main&quot; args=&quot;-h&quot;
  +  fork=&quot;yes&quot; jvmargs=&quot;-Xrunhprof:cpu=samples,file=log.txt,depth=3&quot;
  +  /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="javac">Javac</a></h2>
  @@ -841,6 +1014,16 @@
   classpath.</p>
   <p>The directory structure of the source tree should follow the package
   hierarchy.</p>
  +<p>It is possible to refine the set of files that are being compiled/copied.
  +This can be done with the <i>includes</i>, <i>excludes</i> and <i>defaultexcludes</i>
  +attributes. With the <i>includes</i> attribute you specify the files you want to
  +have included by using patterns. The <i>exclude</i> attribute is used to specify
  +the files you want to have excluded. This is also done with patterns. And
  +finally with the <i>defaultexcludes</i> attribute, you can specify whether you
  +want to use default exclusions or not. See the section on <a
  +href="#directorybasedtasks">directory based tasks</a>, on how the
  +inclusion/exclusion of files works, and how to write patterns. The patterns are
  +relative to the <i>srcdir</i> directory.</p>
   <p>It is possible to use different compilers. This can be selected with the
   &quot;build.compiler&quot; property. There are three choices:</p>
   <ul>
  @@ -869,6 +1052,24 @@
       <td align="center" valign="top">Yes</td>
     </tr>
     <tr>
  +    <td valign="top">includes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      included. All files are included when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">excludes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      excluded. No files (except default excludes) are excluded when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">defaultexcludes</td>
  +    <td valign="top">indicates whether default excludes should be used or not
  +      (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
       <td valign="top">classpath</td>
       <td valign="top">the classpath to use.</td>
       <td align="center" valign="top">No</td>
  @@ -903,20 +1104,39 @@
     </tr>
   </table>
   <h3>Examples</h3>
  -<blockquote>
  -<p><code>&lt;javac srcdir=&quot;${src}&quot; destdir=&quot;${build}&quot; -classpath=&quot;xyz.jar&quot;
  --debug=&quot;on&quot; /&gt;</code></p>
  -</blockquote>
  +<pre>  &lt;javac srcdir=&quot;${src}&quot;
  +         destdir=&quot;${build}&quot;
  +         classpath=&quot;xyz.jar&quot;
  +         debug=&quot;on&quot;
  +  /&gt;</pre>
  +<p>compiles all .java files under the directory <code>${src}</code>, and stores
  +the .class files in the directory <code>${build}</code>. It also copies the non-java
  +files from the tree under <code>${src}</code> to the tree under <code>${build}</code>.
  +The classpath used contains <code>xyz.jar</code>, and debug information is on.</p>
  +<pre>  &lt;javac srcdir=&quot;${src}&quot;
  +         destdir=&quot;${build}&quot;
  +         includes=&quot;mypackage/p1/**,mypackage/p2/**&quot;
  +         excludes=&quot;mypackage/p1/testpackage/**&quot;
  +         classpath=&quot;xyz.jar&quot;
  +         debug=&quot;on&quot;
  +  /&gt;</pre>
  +<p>compiles .java files under the directory <code>${src}</code>, and stores the
  +.class files in the directory <code>${build}</code>. It also copies the non-java
  +files from the tree under <code>${src}</code> to the tree under <code>${build}</code>.
  +The classpath used contains <code>xyz.jar</code>, and debug information is on.
  +Only files under <code>mypackage/p1</code> and <code>mypackage/p2</code> are
  +used. Files in the <code>mypackage/p1/testpackage</code> directory are excluded
  +form compilation and copy.</p>
   <hr>
   <h2><a name="javadoc">Javadoc/Javadoc2</a></h2>
   <h3>Description</h3>
   <p>Generates code documentation using the javadoc tool.</p>
  -<p>The source directory will be recursively scanned for Java
  -source files to but only those matching the inclusion rules will be passed to
  -the javadoc tool. This allows wildcards to be used to choose between package
  -names, reducing verbosity and management costs over time. This task, however,
  -has no notion of &quot;changed&quot; files, unlike the <a href="#javac">javac</a>
  -task, but it's not used so frequently.</p>
  +<p>The source directory will be recursively scanned for Java source files to but
  +only those matching the inclusion rules will be passed to the javadoc tool. This
  +allows wildcards to be used to choose between package names, reducing verbosity
  +and management costs over time. This task, however, has no notion of
  +&quot;changed&quot; files, unlike the <a href="#javac">javac</a> task, but it's
  +not used so frequently.</p>
   <p>This task works seamlessly between different javadoc versions (1.1 and 1.2),
   with the obvious restriction that the 1.2 attributes will be ignored if run in a
   1.1 VM.</p>
  @@ -968,7 +1188,8 @@
     </tr>
     <tr>
       <td valign="top">Bootclasspath</td>
  -    <td valign="top">Override location of class files loaded by the bootstrap class loader</td>
  +    <td valign="top">Override location of class files loaded by the bootstrap
  +      class loader</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
  @@ -1052,7 +1273,7 @@
     </tr>
     <tr>
       <td valign="top">Splitindex</td>
  -    <td valign="top"> Split index into one file per letter</td>
  +    <td valign="top">Split index into one file per letter</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
  @@ -1064,87 +1285,86 @@
     </tr>
     <tr>
       <td valign="top">Doctitle</td>
  -    <td valign="top">     Include title for the package index(first) page
  -      (html-code)</td>
  +    <td valign="top">Include title for the package index(first) page (html-code)</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">Header</td>
  -    <td valign="top">       Include header text for each page (html-code)</td>
  +    <td valign="top">Include header text for each page (html-code)</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">Footer</td>
  -    <td valign="top">       Include footer text for each page (html-code)</td>
  +    <td valign="top">Include footer text for each page (html-code)</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">bottom</td>
  -    <td valign="top">       Include bottom text for each page (html-code)</td>
  +    <td valign="top">Include bottom text for each page (html-code)</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">link</td>
  -    <td valign="top">               Create links to javadoc output at the given
  -      URL</td>
  +    <td valign="top">Create links to javadoc output at the given URL</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">linkoffline</td>
  -    <td valign="top"> Link to docs at &lt;url&gt; using package list at &lt;url2></td>
  +    <td valign="top">Link to docs at &lt;url&gt; using package list at
  +      &lt;url2&gt;</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">group</td>
  -    <td valign="top"> Group specified packages together in overview page</td>
  +    <td valign="top">Group specified packages together in overview page</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">nodeprecated</td>
  -    <td valign="top">             Do not include @deprecated information</td>
  +    <td valign="top">Do not include @deprecated information</td>
       <td align="center" valign="top">all</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">nodeprecatedlist</td>
  -    <td valign="top">         Do not generate deprecated list</td>
  +    <td valign="top">Do not generate deprecated list</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">notree</td>
  -    <td valign="top">                   Do not generate class hierarchy</td>
  +    <td valign="top">Do not generate class hierarchy</td>
       <td align="center" valign="top">all</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">noindex</td>
  -    <td valign="top">                  Do not generate index</td>
  +    <td valign="top">Do not generate index</td>
       <td align="center" valign="top">all</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">nohelp</td>
  -    <td valign="top">                   Do not generate help link</td>
  +    <td valign="top">Do not generate help link</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">nonavbar</td>
  -    <td valign="top">                 Do not generate navigation bar</td>
  +    <td valign="top">Do not generate navigation bar</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
     <tr>
       <td valign="top">serialwarn</td>
  -    <td valign="top">               Generate warning about @serial tag</td>
  +    <td valign="top">Generate warning about @serial tag</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
  @@ -1162,7 +1382,8 @@
     </tr>
     <tr>
       <td valign="top">charset</td>
  -    <td valign="top">        Charset for cross-platform viewing of generated documentation</td>
  +    <td valign="top">Charset for cross-platform viewing of generated
  +      documentation</td>
       <td align="center" valign="top">1.2</td>
       <td align="center" valign="top">no</td>
     </tr>
  @@ -1175,7 +1396,7 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<pre>&lt;javadoc packagenames=&quot;com.dummy.test.*&quot; 
  +  <pre>&lt;javadoc packagenames=&quot;com.dummy.test.*&quot; 
            sourcepath=&quot;src&quot; 
            destdir=&quot;docs/api&quot;
            author=&quot;true&quot;
  @@ -1228,8 +1449,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;keysubst src=&quot;abc.txt&quot; dest=&quot;def.txt&quot;
  -keys=&quot;VERSION=1.0.3*DATE=2000-01-10&quot; /&gt;</code></p>
  +  <p><code>&lt;keysubst src=&quot;abc.txt&quot; dest=&quot;def.txt&quot;
  +  keys=&quot;VERSION=1.0.3*DATE=2000-01-10&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="mkdir">Mkdir</a></h2>
  @@ -1251,8 +1472,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;mkdir dir=&quot;${dist}&quot; /&gt;</code></p>
  -<p><code>&lt;mkdir dir=&quot;${dist}/lib&quot; /&gt;</code></p>
  +  <p><code>&lt;mkdir dir=&quot;${dist}&quot; /&gt;</code></p>
  +  <p><code>&lt;mkdir dir=&quot;${dist}/lib&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="property">Property</a></h2>
  @@ -1310,9 +1531,9 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;property name=&quot;foo.dist&quot; value=&quot;dist&quot;/&gt;</code></p>
  -<p><code>&lt;property file=&quot;foo.properties&quot; /&gt;</code></p>
  -<p><code>&lt;property resource=&quot;foo.properties&quot; /&gt;</code></p>
  +  <p><code>&lt;property name=&quot;foo.dist&quot; value=&quot;dist&quot;/&gt;</code></p>
  +  <p><code>&lt;property file=&quot;foo.properties&quot; /&gt;</code></p>
  +  <p><code>&lt;property resource=&quot;foo.properties&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="replace">Replace</a></h2>
  @@ -1344,8 +1565,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;replace file=&quot;${src}/index.html&quot; token=&quot;@@@&quot;
  -value=&quot;wombat&quot; /&gt;</code></p>
  +  <p><code>&lt;replace file=&quot;${src}/index.html&quot; token=&quot;@@@&quot;
  +  value=&quot;wombat&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="rmic">Rmic</a></h2>
  @@ -1371,8 +1592,8 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;rmic class=&quot;com.xyz.FooBar&quot;
  -base=&quot;${build}/classes&quot; /&gt;</code></p>
  +  <p><code>&lt;rmic class=&quot;com.xyz.FooBar&quot;
  +  base=&quot;${build}/classes&quot; /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="taskdef">Taskdef</a></h2>
  @@ -1403,15 +1624,15 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;taskdef name=&quot;myjavadoc&quot; value=&quot;com.mydomain.JavadocTask&quot;
  -/&gt;</code></p>
  +  <p><code>&lt;taskdef name=&quot;myjavadoc&quot; value=&quot;com.mydomain.JavadocTask&quot;
  +  /&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="tstamp">Tstamp</a></h2>
   <h3>Description</h3>
  -<p>Sets the DSTAMP, TSTAMP and TODAY properties in the current project. The DSTAMP is
  -in the &quot;yyyymmdd&quot; format, the TSTAMP is in the &quot;hhmm&quot; format
  -and TODAY is &quot;month day year&quot;.</p>
  +<p>Sets the DSTAMP, TSTAMP and TODAY properties in the current project. The
  +DSTAMP is in the &quot;yyyymmdd&quot; format, the TSTAMP is in the &quot;hhmm&quot;
  +format and TODAY is &quot;month day year&quot;.</p>
   <p>These properties can be used in the buildfile, for instance, to create
   timestamped filenames or used to replace placeholder tags inside documents to
   indicate, for example, the release date. The best place for this task is in the <a
  @@ -1426,22 +1647,34 @@
   </table>
   <h3>Examples</h3>
   <blockquote>
  -<p><code>&lt;tstamp/&gt;</code></p>
  +  <p><code>&lt;tstamp/&gt;</code></p>
   </blockquote>
   <hr>
   <h2><a name="zip">Zip</a></h2>
   <h3>Description</h3>
   <p>Creates a zipfile.</p>
   <p>The <i>basedir</i> attribute is the reference directory from where to zip.</p>
  -<p>When &quot;*&quot; is used for items, all files in the basedir, and its
  -subdirectories, will be zipped. Otherwise all the files and directories
  +<p>It is possible to refine the set of files that are being zipped. This can be
  +done with the <i>includes</i>, <i>excludes</i> and <i>defaultexcludes</i>
  +attributes. With the <i>includes</i> attribute you specify the files you want to
  +have included by using patterns. The <i>exclude</i> attribute is used to specify
  +the files you want to have excluded. This is also done with patterns. And
  +finally with the <i>defaultexcludes</i> attribute, you can specify whether you
  +want to use default exclusions or not. See the section on <a
  +href="#directorybasedtasks">directory based tasks</a>, on how the
  +inclusion/exclusion of files works, and how to write patterns. The patterns are
  +relative to the <i>basedir</i> directory.</p>
  +<p>The <i>includes</i>, <i>excludes</i> and <i>defaultexcludes</i> attributes
  +replace the <i>items</i> and <i>ignore</i> attributes. The following explains
  +how the deprecated <i>items</i> and <i>ignore</i> attribute behave.</p>
  +<p>When &quot;*&quot; is used for <i>items</i>, all files in the basedir, and
  +its subdirectories, will be zipped. Otherwise all the files and directories
   mentioned in the items list will zipped. When a directory is specified, then all
   files within it are also zipped.</p>
  -<p>With the <i>ignore</i> attribute, you can specify names of files or
  -directories to ignore. These files will not be zipped. The items in the <i>ignore</i>
  -attribute override the items in the <i>items</i> attribute. The names specified
  -in the <i>ignore</i> attribute are just names, they do not contain any path
  -information!</p>
  +<p>With the <i>ignore</i> attribute, you can specify files or directories to
  +ignore. These files will not be zipped. The items in the <i>ignore</i> attribute
  +override the items in the <i>items</i> attribute. The names specified in the <i>ignore</i>
  +attribute are just names, they do not contain any path information!</p>
   <h3>Parameters</h3>
   <table border="1" cellpadding="2" cellspacing="0">
     <tr>
  @@ -1461,27 +1694,63 @@
     </tr>
     <tr>
       <td valign="top">items</td>
  -    <td valign="top">a comma separated list of the files/directories to zip.</td>
  -    <td align="center" valign="top">Yes</td>
  +    <td valign="top">a comma separated list of the files/directories to zip. All
  +      files are included when omitted. (<b>deprecated</b>, use <i>includes</i>
  +      instead).</td>
  +    <td valign="top" align="center">No</td>
     </tr>
     <tr>
       <td valign="top">ignore</td>
  -    <td valign="top">a comma separated list of the filenames/directorynames to
  -      exclude from the zip.</td>
  -    <td align="center" valign="top">No</td>
  +    <td valign="top">comma separated list of filenames/directorynames to exclude
  +      from the zip. No files (except default excludes) are excluded when
  +      omitted. (<b>deprecated</b>, use <i>excludes</i> instead).</td>
  +    <td valign="top" align="center">No</td>
     </tr>
  +  <tr>
  +    <td valign="top">includes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      included. All files are included when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">excludes</td>
  +    <td valign="top">comma separated list of patterns of files that must be
  +      excluded. No files (except default excludes) are excluded when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
  +  <tr>
  +    <td valign="top">defaultexcludes</td>
  +    <td valign="top">indicates whether default excludes should be used or not
  +      (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted.</td>
  +    <td valign="top" align="center">No</td>
  +  </tr>
   </table>
   <h3>Examples</h3>
  -<blockquote>
  -<p><code>&lt;zip zipfile=&quot;${dist}/manual.zip&quot; basedir=&quot;htdocs/manual&quot;
  -items=&quot;*&quot; /&gt;</code></p>
  -</blockquote>
  +<pre>  &lt;zip zipfile=&quot;${dist}/manual.zip&quot;
  +       basedir=&quot;htdocs/manual&quot;
  +  /&gt;</pre>
   <p>zips all files in the <code>htdocs/manual</code> directory in a file called <code>manual.zip</code>
   in the <code>${dist}</code> directory.</p>
  -<blockquote>
  -<p><code>&lt;zip zipfile=&quot;${dist}/manual.zip&quot; basedir=&quot;htdocs/manual&quot;
  -items=&quot;*&quot; ignore=&quot;mydocs, todo.html&quot;/&gt;</code></p>
  -</blockquote>
  +<pre>  &lt;zip zipfile=&quot;${dist}/manual.zip&quot;
  +       basedir=&quot;htdocs/manual&quot;
  +       excludes=&quot;mydocs/**, **/todo.html&quot;
  +  /&gt;</pre>
  +<p>zips all files in the <code>htdocs/manual</code> directory in a file called <code>manual.zip</code>
  +in the <code>${dist}</code> directory. Files in the directory <code>mydocs</code>,
  +or files with the name <code>todo.html</code> are excluded.</p>
  +<pre>  &lt;zip zipfile=&quot;${dist}/manual.zip&quot;
  +       basedir=&quot;htdocs/manual&quot;
  +       includes=&quot;api/**/*.html&quot;
  +       excludes=&quot;**/todo.html&quot;
  +  /&gt;</pre>
  +<p>zips all files in the <code>htdocs/manual</code> directory in a file called <code>manual.zip</code>
  +in the <code>${dist}</code> directory. Only html files under the directory <code>api</code>
  +are zipped, and files with the name <code>todo.html</code> are excluded.</p>
  +<h3>Deprecated examples</h3>
  +<pre>  &lt;zip zipfile=&quot;${dist}/manual.zip&quot; basedir=&quot;htdocs/manual&quot; items=&quot;*&quot; /&gt;</pre>
  +<p>zips all files in the <code>htdocs/manual</code> directory in a file called <code>manual.zip</code>
  +in the <code>${dist}</code> directory.</p>
  +<pre>  &lt;zip zipfile=&quot;${dist}/manual.zip&quot; basedir=&quot;htdocs/manual&quot; items=&quot;*&quot; ignore=&quot;mydocs, todo.html&quot;/&gt;</pre>
   <p>zips all files in the <code>htdocs/manual</code> directory in a file called <code>manual.zip</code>
   in the <code>${dist}</code> directory. Files/directories with the names <code>mydocs</code>
   and <code>todo.html</code> are excluded.</p>
  @@ -1504,7 +1773,7 @@
   <p>Let's write our own task, that prints a message on the System.out stream. The
   task has one attribute called &quot;message&quot;.</p>
   <blockquote>
  -<pre>public class MyVeryOwnTask extends Task {
  +  <pre>public class MyVeryOwnTask extends Task {
     private String msg;
   
     // The method executing the task
  @@ -1529,7 +1798,7 @@
   </ol>
   <h3>Example</h3>
   <blockquote>
  -<pre>&lt;project name=&quot;TaskTest&quot; default=&quot;test&quot; basedir=&quot;.&quot;&gt;
  +  <pre>&lt;project name=&quot;TaskTest&quot; default=&quot;test&quot; basedir=&quot;.&quot;&gt;
     &lt;target name=&quot;init&quot;&gt;
       &lt;taskdef name=&quot;mytask&quot; class=&quot;com.mydomain.MyVeryOwnTask&quot;/&gt;
     &lt;/target&gt;
  @@ -1548,8 +1817,8 @@
   <p>To provide feedback on this software, please subscribe to the Ant Development
   Mail List <a href="mailto:(ant-dev-subscribe@jakarta.apache.org">(ant-dev-subscribe@jakarta.apache.org</a>)</p>
   <hr>
  -<p align="center">Copyright &copy; 2000 Apache Software Foundation. All
  -rights Reserved.</p>
  +<p align="center">Copyright  2000 Apache Software Foundation. All rights
  +Reserved.</p>
   
   </body>
   
  
  
  

Mime
View raw message