<?xml version="1.0" encoding="UTF-8"?>
<TASKS>
	<TASK NAME="ant">
		<DESCRIPTION>&lt;p&gt;Runs Ant on a supplied buildfile. This can be used to build subprojects.&lt;/p&gt;
&lt;p&gt;When the &lt;i&gt;antfile&lt;/i&gt; attribute is omitted, the file &amp;quot;build.xml&amp;quot;
in the supplied directory (&lt;i&gt;dir&lt;/i&gt; attribute) is used.&lt;/p&gt;
&lt;p&gt;If no target attribute is supplied, the default target of the new project is
used.&lt;/p&gt;
&lt;p&gt;By default, all of the properties of the current project will be
available in the new project.   Alternatively, you can
set the &lt;i&gt;inheritAll&lt;/i&gt; attribute to &lt;code&gt;false&lt;/code&gt; and only
&amp;quot;user&amp;quot; properties (i.e., those passed on the command-line)
will be passed to the new project.  In either case, the set of
properties passed to the new project will override the properties that 
are set in the new project (See also the &lt;a href=&quot;property.html&quot;&gt;property task&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;You can also set properties in the new project from the old project by
using nested property tags. These properties are always passed regardless of the
setting of &lt;i&gt;inheritAll&lt;/i&gt;.  This allows you to parameterize your subprojects.&lt;/p&gt;
&lt;p&gt;References to data types can also be passed to the new project, but
by default they are not.  If you set the inheritrefs attribute to
true, all references will be copied, but they will not override
references defined in the new project.&lt;/p&gt;
&lt;p&gt;Nested &lt;a href=&quot;#reference&quot;&gt;&lt;i&gt;&amp;lt;reference&amp;gt;&lt;/i&gt;&lt;/a&gt; elements
can also be used to copy references from the calling project to the
new project, optionally under a different id.  References taken from
nested elements will override existing references in the new
project.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="antfile" REQUIRED="no">
			<DESCRIPTION>the buildfile to use. Defaults to&quot;build.xml&quot;.  This file is expected to be a filenamerelative to the dir attribute given</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>the directory to use as a basedir for the new Ant project. Defaults to the current project's basedir, unlessinheritall has been set to false, in which case it doesn'thave a default value.  This will override the basedirsetting of the called project</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="target" REQUIRED="no">
			<DESCRIPTION>the target of the new Ant project that should be executed.Defaults to the new project's default target</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output" REQUIRED="no">
			<DESCRIPTION>Filename to write the ant output to.  This isrelative to the value of the dir attribute if it has been set orto the base directory of the current project otherwise.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="inheritall" REQUIRED="no">
			<DESCRIPTION>If true, pass all properties to thenew Ant project.  Defaults to true</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="inheritrefs" REQUIRED="no">
			<DESCRIPTION>If true, pass all references to thenew Ant project.  Defaults to false</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="antcall">
		<DESCRIPTION>&lt;p&gt;Call another target within the same build-file optionally specifying some
properties (param's in this context)&lt;/p&gt;
&lt;p&gt;By default, all of the properties of the current project will be
available in the new project.   Alternatively, you can
set the &lt;i&gt;inheritAll&lt;/i&gt; attribute to &lt;code&gt;false&lt;/code&gt; and only
&amp;quot;user&amp;quot; properties (i.e., those passed on the command-line)
will be passed to the new project.  In either case, the set of
properties passed to the new project will override the properties that 
are set in the new project (See also the &lt;a href=&quot;property.html&quot;&gt;property task&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;You can also set properties in the new project from the old project by
using nested param tags. These properties are always passed regardless of the
setting of &lt;i&gt;inheritAll&lt;/i&gt;.  This allows you to parameterize your subprojects.&lt;/p&gt;
&lt;p&gt;Nested &lt;a href=&quot;#reference&quot;&gt;&lt;i&gt;&amp;lt;reference&amp;gt;&lt;/i&gt;&lt;/a&gt; elements can
be used to copy references from the calling project to the new
project, optionally under a different id.  References taken from
nested elements will override existing references in the new
project.&lt;/p&gt;
&lt;p&gt;
When a target is invoked by antcall, all of its dependent targets will
also be called within the context of any new parameters. For example. if
the target &amp;quot;doSomethingElse&amp;quot; depended on the target &amp;quot;init&amp;quot;, then the 
&lt;i&gt;antcall&lt;/i&gt; of &amp;quot;doSomethingElse&amp;quot; will call &amp;quot;init&amp;quot; during the call. 
Of course, any properties defined in the antcall task or inherited from the calling target 
will be fixed and not overridable in the init task -or indeed in the &amp;quot;doSomethingElse&amp;quot; task.  
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="target" REQUIRED="yes">
			<DESCRIPTION>The target to execute</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="inheritall" REQUIRED="no">
			<DESCRIPTION>If true, pass all properties to the new Antproject.  Defaults to true.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="inheritrefs" REQUIRED="no">
			<DESCRIPTION>If true, pass all references to thenew Ant project.  Defaults to false</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="antstructure">
		<DESCRIPTION>&lt;p&gt;Generates a DTD for Ant buildfiles which contains information
about all tasks currently known to Ant.&lt;/p&gt; 
&lt;p&gt;Note that the DTD generated by this task is incomplete, you can
always add XML entities using &lt;a
href=&quot;taskdef.html&quot;&gt;&lt;code&gt;&amp;lt;taskdef&amp;gt;&lt;/code&gt;&lt;/a&gt; or &lt;a
href=&quot;typedef.html&quot;&gt;&lt;code&gt;&amp;lt;typedef&amp;gt;&lt;/code&gt;&lt;/a&gt;. See &lt;a
href=&quot;http://www.sdv.fr/pages/casa/html/ant-dtd.en.html&quot;
target=&quot;_top&quot;&gt;here&lt;/a&gt; for a way to get around this problem.&lt;/p&gt;
&lt;p&gt;This task doesn't know about required attributes, all will be
listed as &lt;code&gt;#IMPLIED&lt;/code&gt;.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="output" REQUIRED="yes">
			<DESCRIPTION>file to write the DTD to</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="apply">
		<DESCRIPTION>&lt;p&gt;Executes a system command. When the &lt;i&gt;os&lt;/i&gt; attribute is specified, then
the command is only executed when Ant is run on one of the specified operating
systems.&lt;/p&gt;
&lt;p&gt;The files and/or directories of a number of &lt;a
href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are passed as arguments
to the system command.&lt;/p&gt;
&lt;p&gt;If you specify a nested &lt;a
href=&quot;../CoreTypes/mapper.html&quot;&gt;mapper&lt;/a&gt; and the &lt;i&gt;dest&lt;/i&gt; attribute,
the timestamp of each source file is compared to the timestamp of a
target file which is defined by the nested mapper element and searched
for in the given dest.&lt;/p&gt;
&lt;p&gt;At least one fileset is required, and you must not specify more than
one mapper.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="executable" REQUIRED="yes">
			<DESCRIPTION>the command to execute without any command linearguments</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes, if you specify a nested mapper">
			<DESCRIPTION>the directory where the &lt;apply&gt; expects the target files will be placed by the command, when it is executed. </DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>the directory in which the command should be executed</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="relative" REQUIRED="no, default is false">
			<DESCRIPTION>whether the filenames should be passed on thecommand line as absolute or relative pathnames (relative to thebase directory of the corresponding fileset for source files orthe dest attribute for target files)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="os" REQUIRED="no">
			<DESCRIPTION>list of Operating Systems on which the command may beexecuted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output" REQUIRED="no">
			<DESCRIPTION>the file to which the output of the command should beredirected</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="outputproperty" REQUIRED="no">
			<DESCRIPTION>the name of a property in which the output of the command should be stored</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeout" REQUIRED="no">
			<DESCRIPTION>Stop the command if it doesn't finish within thespecified time (given in milliseconds)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="skipemptyfilesets" REQUIRED="no, default is false">
			<DESCRIPTION>Don't run the command, if no source files havebeen found or are newer than their corresponding targetfiles</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="parallel" REQUIRED="no">
			<DESCRIPTION>Run the command only once, appending all files asarguments. If false, command will be executed once for every file. Defaults to false.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="type" REQUIRED="no, default is file">
			<DESCRIPTION>One of file, dir orboth. If set to file, only the names of plainfiles will be sent to the command. If set to dir, onlythe names of directories are considered</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="newenvironment" REQUIRED="no, default is false">
			<DESCRIPTION>Do not propagate old environment when new environmentvariables are specified</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="vmlauncher" REQUIRED="no, default is true">
			<DESCRIPTION>Run command using the Java VM's execution facilitieswhere available. If set to false the underlying OS's shell,either directly or through the antRun scripts, will be used.Under some operating systems, this gives access to facilitiesnot normally available through the VM including, under Windows,being able to execute scripts, rather than their associatedinterpreter.  If you want to specify the name of theexecutable as a relative path to the directory given by thedir attribute, it may become necessary to set vmlauncher tofalse as well</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="available">
		<DESCRIPTION>&lt;p&gt;Sets a property if a resource is available at runtime. This resource can be a
file, a directory, a class in the classpath, or a JVM system resource.&lt;/p&gt;
&lt;p&gt;If the resource is present, the property value is set to true by
default; otherwise, the property is not set. You can set the value to
something other than the default by specifying the &lt;code&gt;value&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;Normally, this task is used to set properties that are useful to avoid target
execution depending on system parameters.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of the property to set</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="value" REQUIRED="no">
			<DESCRIPTION>The value to set the property to. Defaults to &quot;true&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classname" REQUIRED="yes">
			<DESCRIPTION>The class to look for in the classpath</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="file" REQUIRED="">
			<DESCRIPTION>The file to look for</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="resource" REQUIRED="">
			<DESCRIPTION>The resource to look for in the JVM</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>The classpath to use when looking up classname or resource</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filepath" REQUIRED="no">
			<DESCRIPTION>The path to use when looking up file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>The classpath to use, given as a reference to a path defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="type" REQUIRED="no">
			<DESCRIPTION>The type of file to look for, either a directory (type=&quot;dir&quot;) or a file(type=&quot;file&quot;). If not set, the property will be set if the name specified in the fileattribute exists as either a file or a directory</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ignoresystemclasses" REQUIRED="no">
			<DESCRIPTION>Ignore Ant's runtime classes, using only the specifiedclasspath.  Only affects the &quot;classname&quot; attribute.  Defaults to &quot;false</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="basename">
		<DESCRIPTION>&lt;p&gt;
Task to determine the basename of a specified file, optionally minus a
specified suffix.
&lt;/p&gt;
&lt;p&gt;
When this task executes, it will set the specified property to the
value of the last path element of the specified file. If &lt;code&gt;file&lt;/code&gt; is a
directory, the basename will be the last directory element. If
&lt;code&gt;file&lt;/code&gt; is a full-path, relative-path, or simple filename,
the basename will be the simple file name, without any directory elements.
&lt;/p&gt;
&lt;p&gt; 
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="yes">
			<DESCRIPTION>The path to take the basename of</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of the property to set</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="suffix" REQUIRED="no">
			<DESCRIPTION>The suffix to remove from the resulting basename(specified either with or without the &quot;.&quot;)</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="buildnumber">
		<DESCRIPTION>&lt;p&gt;This is a basic task that can be used to track build numbers.&lt;/p&gt;
&lt;p&gt;It will first attempt to read a build number from a file (by default,
&lt;code&gt;build.number&lt;/code&gt; in the current directory), then
set the property &lt;code&gt;build.number&lt;/code&gt; to the value that was read in
(or to &lt;code&gt;0&lt;/code&gt;, if no such value). It will then increment the
number by one and write it back out to the file.
(See the
&lt;a href=&quot;../OptionalTasks/propertyfile.html&quot;&gt;PropertyFile&lt;/a&gt; task
if you need finer control over things such as the property name or
the number format.)
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="no; defaults to &quot;build.number&quot;">
			<DESCRIPTION>The file to read and write the build number from/to</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="changelog">
		<DESCRIPTION>&lt;p&gt;Generates an XML-formatted report file of the change logs recorded in a
&lt;a href=&quot;http://www.cvshome.org/&quot; target=&quot;_top&quot;&gt;CVS&lt;/a&gt; repository. &lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="dir" REQUIRED="no; defaults to ${basedir}.">
			<DESCRIPTION>The directory from which to run the CVS logcommand</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>The file in which to write the change log report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="usersfile" REQUIRED="no">
			<DESCRIPTION>Property file that contains name-value pairs mappinguser IDs and names that should be used in the report in place ofthe user ID</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="daysinpast" REQUIRED="no">
			<DESCRIPTION>Sets the number of days into the past for which thechange log information should be retrieved</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="start" REQUIRED="no">
			<DESCRIPTION>The earliest date from which change logs are to beincluded in the report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="end" REQUIRED="no">
			<DESCRIPTION>The latest date to which change logs are to beincluded in the report</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="checksum">
		<DESCRIPTION>&lt;p&gt;
Generates checksum for files.  This task can also be used to
perform checksum verifications.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="one of either file or
     at least one nested fileset element.">
			<DESCRIPTION>The file to generate checksum for</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="algorithm" REQUIRED="no">
			<DESCRIPTION>Specifies the algorithm to be used tocompute the checksum. Defaults to &quot;MD5&quot;.Other popular algorithms like &quot;SHA&quot; may be usedas well.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="provider" REQUIRED="no">
			<DESCRIPTION>Specifies the provider of the algorithm</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fileext" REQUIRED="no">
			<DESCRIPTION>The generated checksum file's name will be theoriginal filename with &quot;.&quot; and fileext added to it.Defaults to the algorithm name being used.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="property" REQUIRED="no">
			<DESCRIPTION>Specifies the name of the property to be setwith the generated checksum value.  This cannot be specifiedwhen fileext is being used or when the number of filesfor which checksums is to be generated is greater than 1.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
			<DESCRIPTION>Overwrite existing files even if the destinationfiles are newer. Defaults to &quot;no&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verifyproperty" REQUIRED="no">
			<DESCRIPTION>Specifies the name of the property to be setwith &quot;true&quot; or &quot;false&quot; depending upon whetherthe generated checksum matches the existing checksum.  Whenthis is set, the generated checksum is not written to a file orproperty, but rather, the content of the file or property is used tocheck against the generated checksum.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="readbuffersize" REQUIRED="no">
			<DESCRIPTION>The size of the buffer )in bytes) to use whenreading a file. Defaults to &quot;8192&quot; - you may get abetter performance on big files if you increase this value</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="chmod">
		<DESCRIPTION>&lt;p&gt;Changes the permissions of a file or all files inside specified directories. Right now it has effect only under Unix.
The permissions are also UNIX style, like the argument for the chmod command.&lt;/p&gt;
&lt;p&gt;See the section on &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
tasks&lt;/a&gt;, on how the inclusion/exclusion of files works, and how to
write patterns.&lt;/p&gt;
&lt;p&gt;This task holds an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all of FileSet's attributes and nested elements
directly. More FileSets can be specified using nested
&lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="exactly one of the two or nested &lt;fileset&gt; elements.">
			<DESCRIPTION>the file or single directory of which the permissions must be changed</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="">
			<DESCRIPTION>the directory which holds the files whose permissions must be changed</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="perm" REQUIRED="yes">
			<DESCRIPTION>the new permissions</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="parallel" REQUIRED="no">
			<DESCRIPTION>process all specified files using a singlechmod command. Defaults to true</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="type" REQUIRED="no, default is file">
			<DESCRIPTION>One of file, dir orboth. If set to file, only the permissions ofplain files are going to be changed. If set to dir, onlythe directories are considered</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="concat">
		<DESCRIPTION>&lt;p&gt;
Concatenates a file, or a series of files, to a single file or
the console. The destination file will be created if it does
not exist, though the the &lt;var&gt;append&lt;/var&gt; attribute may be
used to alter this behavior.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s and/or &lt;a
href=&quot;../CoreTypes/filelist.html&quot;&gt;FileList&lt;/a&gt;s are used to
select which files are to be concatenated. There is no
singular 'file' attribute to specify a single file to cat -- a
fileset or filelist must also be used in these cases.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="no
 	  ">
			<DESCRIPTION>The destination file for the concatenated stream.If not specified the console will be used instead.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no">
			<DESCRIPTION>Specifies whether or not the file specified by 'destfile'should be overwritten. Defaults to &quot;no&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>Specifies the encoding for the input files. Please see http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.htmlfor a list of possible values. Defaults to the platform'sdefault character encoding.</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="condition">
		<DESCRIPTION>&lt;p&gt;Sets a property if a certain condition holds true - this is a
generalization of &lt;a href=&quot;available.html&quot;&gt;Available&lt;/a&gt; and &lt;a
href=&quot;uptodate.html&quot;&gt;Uptodate&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the condition holds true, the property value is set to true by
default; otherwise, the property is not set. You can set the value to
something other than the default by specifying the &lt;code&gt;value&lt;/code&gt;
attribute.&lt;/p&gt;
&lt;p&gt;Conditions are specified as &lt;a href=&quot;#nested&quot;&gt;nested elements&lt;/a&gt;,
you must specify exactly one condition.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of the property to set</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="value" REQUIRED="no">
			<DESCRIPTION>The value to set the property to. Defaults to&quot;true&quot;</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="conditions">
		<DESCRIPTION></DESCRIPTION>	</TASK>
	<TASK NAME="copy">
		<DESCRIPTION>&lt;p&gt;Copies a file or FileSet to a new file or directory.  By default, files are
only copied if the source file is newer than the destination file,
or when the destination file does not exist.  However, you can explicitly
overwrite files with the &lt;code&gt;overwrite&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are used to select a
set of files to copy.
To use a &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;, the &lt;code&gt;todir&lt;/code&gt; attribute
must be set.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="yes, unless a nested
     &lt;fileset&gt; element is used.">
			<DESCRIPTION>The file to copy</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="preservelastmodified" REQUIRED="no; defaults to false.">
			<DESCRIPTION>Give the copied files the same last modifiedtime as the original source files.(Note: Ignored on Java 1.1</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tofile" REQUIRED="with the file
       attribute, either tofile or todir can be used.
       with nested &lt;fileset&gt; elements, if the set of files
       is greater than 1, or if only the dir attribute is
       specified in the &lt;fileset&gt;, or if the
       file attribute is also specified, then only
       todir is allowed.">
			<DESCRIPTION>The file to copy to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="todir" REQUIRED="">
			<DESCRIPTION>The directory to copy to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="overwrite" REQUIRED="no; defaults to false.">
			<DESCRIPTION>Overwrite existing files even if the destinationfiles are newer</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtering" REQUIRED="no; defaults to false.">
			<DESCRIPTION>Indicates whether token filtering using the globalbuild-file filters should take place during the copy.Note: Nested &lt;filterset&gt; elements willalways be used, even if this attribute is not specified, or its value isfalse (no, or off)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="flatten" REQUIRED="no; defaults to false.">
			<DESCRIPTION>Ignore the directory structure of the source files,and copy all files into the directory specified by the todirattribute.  Note that you can achieve the same effect by using aflatten mapper</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includeemptydirs" REQUIRED="no; defaults to true.">
			<DESCRIPTION>Copy any empty directories included in the FileSet(s).</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no; defaults to true.">
			<DESCRIPTION>Log a warning message, but do not stop the build,when the file to copy does not exist.Only meaningful when copying a single file.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no; defaults to false.">
			<DESCRIPTION>Log the files that are being copied</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="copydir">
		<DESCRIPTION>&lt;p&gt;Copies a directory tree from the source to the destination.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being copied. This can be
done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;src&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="src" REQUIRED="yes">
			<DESCRIPTION>the directory to copy</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>the directory to copy to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtering" REQUIRED="no">
			<DESCRIPTION>indicates whether token filtering should take place duringthe cop</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="flatten" REQUIRED="no">
			<DESCRIPTION>ignore directory structure of source directory,copy all files into a single directory, specified by the destattribute (default is false)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
			<DESCRIPTION>overwrite existing files even if the destinationfiles are newer (default is false)</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="copyfile">
		<DESCRIPTION>&lt;p&gt;Copies a file from the source to the destination. The file is only copied if
the source file is newer than the destination file, or when the destination file
does not exist.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="src" REQUIRED="yes">
			<DESCRIPTION>the filename of the file to copy</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>the filename of the file where to copy to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtering" REQUIRED="no">
			<DESCRIPTION>indicates whether token filtering should take place duringthe cop</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
			<DESCRIPTION>overwrite existing files even if the destinationfiles are newer (default is false)</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="cvs">
		<DESCRIPTION>&lt;p&gt;Handles packages/modules retrieved from a
&lt;a href=&quot;http://www.cvshome.org/&quot; target=&quot;_top&quot;&gt;CVS&lt;/a&gt; repository.&lt;/p&gt;
&lt;p&gt;When doing automated builds, the &lt;a href=&quot;get.html&quot;&gt;get task&lt;/a&gt; should be
preferred over the &lt;i&gt;checkout&lt;/i&gt; command, because of speed.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="command" REQUIRED="no, default &quot;checkout&quot;.">
			<DESCRIPTION>the CVS command to execute</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compression" REQUIRED="no. defaults to false.">
			<DESCRIPTION>true or false - if setto true, this is the same as compressionlevel=&quot;3</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compressionlevel" REQUIRED="no. defaults to no compression.">
			<DESCRIPTION>A number between 1 and 9 (corresponding topossible values for CVS' -z# argument). Anyother value is treated as compression=&quot;false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cvsroot" REQUIRED="no">
			<DESCRIPTION>the CVSROOT variable</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cvsrsh" REQUIRED="no">
			<DESCRIPTION>the CVS_RSH variable</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="no, default is project's basedir.">
			<DESCRIPTION>the directory where the checked out files should be placed</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="package" REQUIRED="no">
			<DESCRIPTION>the package/module to check out</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tag" REQUIRED="no">
			<DESCRIPTION>the tag of the package/module to check out</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="date" REQUIRED="no">
			<DESCRIPTION>Use the most recent revision no later than the given dat</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="quiet" REQUIRED="no, default &quot;false&quot;">
			<DESCRIPTION>suppress informational messages</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="noexec" REQUIRED="no, default to &quot;false&quot;">
			<DESCRIPTION>report only, don't change any files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output" REQUIRED="no, default output to ant log as msg_info.">
			<DESCRIPTION>the file to direct standard output from the command</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="error" REQUIRED="no, default error to ant log as msg_warn.">
			<DESCRIPTION>the file to direct standard error from the command</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no, default to &quot;false&quot;.">
			<DESCRIPTION>whether to append output/error when redirecting to a file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="port" REQUIRED="no, default port 2401.">
			<DESCRIPTION>Port used by CVS to communicate with the server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="passfile" REQUIRED="no, default file ~/.cvspass.">
			<DESCRIPTION>Password file to read passwords from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Stop the build process if the command exits with areturn code other than 0. Defaults to fals</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="cvspass">
		<DESCRIPTION>&lt;p&gt;Adds entries to a .cvspass file. Adding entries to this file has the same affect as a cvs login command.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="cvsroot" REQUIRED="yes">
			<DESCRIPTION>the CVS repository to add an entry for</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="password" REQUIRED="yes">
			<DESCRIPTION>Password to be added to the password file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="passfile" REQUIRED="no, default is ~/.cvspass.">
			<DESCRIPTION>Password file to add the entry to</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="cvstagdiff">
		<DESCRIPTION>&lt;p&gt;Generates an XML-formatted report file of the changes between two tags or dates recorded in a
&lt;a href=&quot;http://www.cvshome.org/&quot; target=&quot;_top&quot;&gt;CVS&lt;/a&gt; repository. &lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="starttag" REQUIRED="exactly one of the two.">
			<DESCRIPTION>The earliest tag from which diffs are to beincluded in the report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="startdate" REQUIRED="">
			<DESCRIPTION>The earliest date from which diffs are to beincluded in the report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="endtag" REQUIRED="exactly one of the two.">
			<DESCRIPTION>The latest tag from which diffs are to beincluded in the report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="enddate" REQUIRED="">
			<DESCRIPTION>The latest date from which diffs are to beincluded in the report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>The file in which to write the diff report</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="rootdir" REQUIRED="no">
			<DESCRIPTION>Root directory for the package, if different from the package name</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="delete">
		<DESCRIPTION>&lt;p&gt;Deletes a single file, a specified directory and all its files and
subdirectories, or a set of files specified by one or more
&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s.
When specifying a set of files, empty directories are &lt;i&gt;not&lt;/i&gt; removed by
default.
To remove empty directories, use the &lt;code&gt;includeEmptyDirs&lt;/code&gt; attribute.
&lt;/p&gt;
&lt;p&gt;
If you use this task to delete temporary files created by editors
and it doesn't seem to work, read up on the 
&lt;a href=&quot;../dirtasks.html#defaultexcludes&quot;&gt;default exclusion set&lt;/a&gt;
in &lt;strong&gt;Directory-based Tasks&lt;/strong&gt;, and see the
&lt;code&gt;defaultexcludes&lt;/code&gt; attribute below.
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="at least one of the two,
      unless a &lt;fileset&gt; is specified.">
			<DESCRIPTION>The file to delete, specified as either the simplefilename (if the file exists in the current base directory), arelative-path filename, or a full-path filename</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="">
			<DESCRIPTION>The directory to delete, including all its files andsubdirectoriesNote: dir is not usedto specify a directory name for file; fileand dir are independent of each otherWARNING: Do not set dir to&quot;.&quot;, &quot;${basedir}&quot;,or the full-pathname equivalent unless you truly intend torecursively remove the entire contents of the current base directory(and the base directory itself, if different from the current workingdirectory)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>Show the name of each deleted file(&quot;true&quot;/&quot;false&quot;).Default is &quot;false&quot; when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="quiet" REQUIRED="no">
			<DESCRIPTION>If the specified file or directory does not exist,do not display a diagnostic message (unless Anthas been invoked with the &amp;#x2011;verbose or&amp;#x2011;debug switches) or modify the exit status toreflect an error.When set to &quot;true&quot;, if a file or directory cannot be deleted,no error is reported. This setting emulates the -f option to the Unix rm command.Default is &quot;false&quot;.Setting this to &quot;true&quot; implies settingfailonerror to &quot;false&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Controls whether an error (such as a failure to delete a file)stops the build or is merely reported to the screen.Only relevant if quiet is &quot;false&quot;.Default is &quot;true&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includeemptydirs" REQUIRED="no">
			<DESCRIPTION>Set to &quot;true&quot; to delete empty directories whenusing filesets.  Default is &quot;false&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.Comma- or space-separated list of patterns offiles that must be deleted. All files are relative to the directoryspecified in dir.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.The name of a file. Each line ofthis file is taken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.Comma- or space-separated list of patterns offiles that must be excluded from the deletion list.All files are relative to the directory specified in dir.No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.The name of a file. Each line ofthis file is taken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>Indicates whether default excludesshould be used or not (&quot;yes&quot;/&quot;no&quot;).Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="deltree">
		<DESCRIPTION>&lt;p&gt;Deletes a directory with all its files and subdirectories.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="dir" REQUIRED="yes">
			<DESCRIPTION>the directory to delete</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="dependset">
		<DESCRIPTION>&lt;p&gt;
The dependset task compares a set of source files with a set of target
files.  If any of the source files is more recent than any of
the target files, all of the target files are removed.  
&lt;/p&gt;
&lt;p&gt;
Source files and target files are specified via nested &lt;a
href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSets&lt;/a&gt; and/or nested &lt;a
href=&quot;../CoreTypes/filelist.html&quot;&gt;FileLists&lt;/a&gt;.  Arbitrarily many
source and target filesets/filelists may be specified, but at 
least one filelist/fileset is required for both sources and targets.
&lt;/p&gt;
&lt;p&gt;
Use a FileSet when you want to use wildcard include or exclude
patterns and don't care about missing files.  Use a FileList when you
want to consider the non-existence of a file as if it were out of
date.  If there are any non-existing files in any source or target
FileList, all target files will be removed.
&lt;/p&gt;
&lt;p&gt;
DependSet is useful to capture dependencies that are not or cannot be
determined algorithmically.  For example, the &amp;lt;style&amp;gt; task only
compares the source XML file and XSLT stylesheet against the target
file to determined whether to restyle the source.  Using dependset you
can extend this dependency checking to include a DTD or XSD file as
well as other stylesheets imported by the main stylesheet.
&lt;/p&gt;
</DESCRIPTION>	</TASK>
	<TASK NAME="dirname">
		<DESCRIPTION>&lt;p&gt;
Task to determine the directory path of a specified file.
&lt;/p&gt;
&lt;p&gt; 
When this task executes, it will set the specified property to the
value of the specified file up to, but not including, the last path
element. If the specified file is a path that ends in a filename,
the filename will be dropped. If the specified file is just a filename,
the directory will be the current directory.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="yes">
			<DESCRIPTION>The path to take the dirname of</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of the property to set</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="ear">
		<DESCRIPTION>&lt;p&gt;An extension of the &lt;a href=&quot;jar.html&quot;&gt;Jar&lt;/a&gt; task with special
treatment for files that should end up in an Enterprise Application archive.&lt;/p&gt;
&lt;p&gt;(The Ear task is a shortcut for specifying the particular layout of a EAR file. 
The same thing can be accomplished by using the &lt;i&gt;prefix&lt;/i&gt; and &lt;i&gt;fullpath&lt;/i&gt;
attributes of zipfilesets in a Zip or Jar task.)&lt;/p&gt;
&lt;p&gt;The extended zipfileset element from the zip task (with attributes &lt;i&gt;prefix&lt;/i&gt;, &lt;i&gt;fullpath&lt;/i&gt;, and &lt;i&gt;src&lt;/i&gt;) is available in the Ear task.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>the EAR file to create</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="appxml" REQUIRED="yes, unless update is set to true">
			<DESCRIPTION>The deployment descriptor to use (META-INF/application.xml)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="basedir" REQUIRED="no">
			<DESCRIPTION>the directory from which to jar the files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compress" REQUIRED="no">
			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>The character encoding to use for filenamesinside the archive.  Defaults to UTF8. It is notrecommended to change this value as the created archive will mostlikely be unreadable for Java otherwise</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="manifest" REQUIRED="no">
			<DESCRIPTION>the manifest file to use</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="update" REQUIRED="no">
			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;.  The default value is &quot;add&quot;. </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="echo">
		<DESCRIPTION>&lt;p&gt;Echoes a message to the current loggers and listeners which
means &lt;tt&gt;System.out&lt;/tt&gt; unless overridden. A &lt;tt&gt;level&lt;/tt&gt;
can be specified, which controls at what logging level the message is
filtered at. 
&lt;p&gt; 
The task can also echo to a file, in which case the option to append rather
than overwrite the file is available, and the &lt;tt&gt;level&lt;/tt&gt; option is 
ignored&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="message" REQUIRED="yes, unless data is included in a
       character section within this element.">
			<DESCRIPTION>the message to echo</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="file" REQUIRED="no">
			<DESCRIPTION>the file to write the message to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no - default is false.">
			<DESCRIPTION>Append to an existing file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="level" REQUIRED="no - default is &quot;warning&quot;.">
			<DESCRIPTION>Control the level at which this message is reported.One of &quot;error&quot;, &quot;warning&quot;, &quot;info&quot;, &quot;verbose&quot;, &quot;debug</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="exec">
		<DESCRIPTION>&lt;p&gt;Executes a system command. When the &lt;i&gt;os&lt;/i&gt; attribute is specified, then
the command is only executed when Ant is run on one of the specified operating
systems.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="command" REQUIRED="exactly one of the two.">
			<DESCRIPTION>the command to execute with all command linearguments. deprecated, use executable and nested&lt;arg&gt; elements instead</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="executable" REQUIRED="">
			<DESCRIPTION>the command to execute without any command linearguments</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>the directory in which the command should be executed</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="os" REQUIRED="no">
			<DESCRIPTION>list of Operating Systems on which the command may beexecuted. If the current OS's name is contained in this list, the command willbe executed. The OS's name is determined by the Java Virtual machine and is setin the &quot;os.name&quot; system property</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output" REQUIRED="no">
			<DESCRIPTION>the file to which the output of the command should beredirected</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no">
			<DESCRIPTION>whether output should be appended to or overwritean existing file.  Defaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="outputproperty" REQUIRED="no">
			<DESCRIPTION>the name of a property in which the output of the command should be stored</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="resultproperty" REQUIRED="no">
			<DESCRIPTION>the name of a property in which the return code of the command should be stored. Only of interest if failonerror=fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeout" REQUIRED="no">
			<DESCRIPTION>Stop the command if it doesn't finish within thespecified time (given in milliseconds)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0. Defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failifexecutionfails" REQUIRED="no">
			<DESCRIPTION>Stop the build if we can't start the program.Defaults to true.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="newenvironment" REQUIRED="no, default is false">
			<DESCRIPTION>Do not propagate old environment when new environmentvariables are specified</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="vmlauncher" REQUIRED="no, default is true">
			<DESCRIPTION>Run command using the Java VM's execution facilitieswhere available. If set to false the underlying OS's shell,either directly or through the antRun scripts, will be used.Under some operating systems, this gives access to facilitiesnot normally available through the VM including, under Windows,being able to execute scripts, rather than their associatedinterpreter.  If you want to specify the name of theexecutable as a relative path to the directory given by thedir attribute, it may become necessary to set vmlauncher tofalse as well</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="fail">
		<DESCRIPTION>&lt;p&gt;Exits the current build (just throwing a BuildException), optionally printing additional information.&lt;/p&gt;
&lt;p&gt;The message of the Exception can be set via the message attribute
or character data nested into the element.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="message" REQUIRED="no">
			<DESCRIPTION>A message giving further information on why the build exite</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="if" REQUIRED="no">
			<DESCRIPTION>Only fail if a property of the given name existsin the current projec</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="unless" REQUIRED="no">
			<DESCRIPTION>Only fail if a property of the given name doesn'texist in the current projec</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="filter">
		<DESCRIPTION>&lt;p&gt;Sets a token filter for this project or read multiple token filter from
an input file and sets these as filters.
Token filters are used by all tasks that perform file copying operations
through the Project commodity methods.&lt;/p&gt;
&lt;p&gt;Note 1: the token string must not contain the separators chars (@).&lt;br&gt;
Note 2: Either token and value attributes must be provided, or only the
filtersfile attribute.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="token" REQUIRED="yes*">
			<DESCRIPTION>the token string without </DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="value" REQUIRED="yes*">
			<DESCRIPTION>the string that should be put to replace the token when the file is copie</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtersfile" REQUIRED="yes*">
			<DESCRIPTION>The file from which the filters must be read. This file must be a formatted as a property file.</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="fixcrlf">
		<DESCRIPTION>&lt;p&gt;
Adjusts a text file to local conventions.
&lt;/p&gt;
&lt;p&gt;
The set of files to be adjusted can be refined with the
&lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;,
&lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
attributes. Patterns provided through the &lt;i&gt;includes&lt;/i&gt; or
&lt;i&gt;includesfile&lt;/i&gt; attributes specify files to be
included. Patterns provided through the &lt;i&gt;exclude&lt;/i&gt; or
&lt;i&gt;excludesfile&lt;/i&gt; attribute specify files to be
excluded. Additionally, default exclusions can be specified with
the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
tasks&lt;/a&gt;, for details of file inclusion/exclusion patterns
and their usage.
&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;srcdir&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;
The output file is only written if it is a new file, or if it
differs from the existing file.  This prevents spurious
rebuilds based on unchanged files which have been regenerated
by this task.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
			<DESCRIPTION>Where to find the files to be fixed up</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="no">
			<DESCRIPTION>Where to place the corrected files.  Defaults tosrcDir (replacing the original file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="eol" REQUIRED="no">
			<DESCRIPTION>Specifies how end-of-line (EOL) characters are to behandled.  The EOL characters are CR, LF and the pair CRLF.Valid values for this property are:asis: leave EOL characters alonecr: convert all EOLs to a single CRlf: convert all EOLs to a single LFcrlf: convert all EOLs to the pair CRLFDefault is based on the platform on which you are runningthis task.  For Unix platforms, the default is &quot;lf&quot;.For DOS based systems (including Windows), the default is&quot;crlf&quot;.  For Mac OS, the default is &quot;cr&quot;.This is the preferred method for specifying EOL.  The&quot;cr&quot; attribute (see below) isnow deprecated.N.B.: One special case is recognized. The threecharacters CR-CR-LF are regarded as a single EOL.Unless this property is specified as &quot;asis&quot;,this sequence will be converted into the specified EOLtype.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cr" REQUIRED="no">
			<DESCRIPTION>Deprecated. Specifies how CR characters areto be handled at end-of-line (EOL).  Valid values for thisproperty are:asis: leave EOL characters alone.add: add a CR before any single LF characters. Theintent is to convert all EOLs to the pair CRLF.remove: remove all CRs from the file.  The intent isto convert all EOLs to a single LF.Default is based on the platform on which you are runningthis task.  For Unix platforms, the default is &quot;remove&quot;.For DOS based systems (including Windows), the default is&quot;add&quot;.N.B.: One special case is recognized. The threecharacters CR-CR-LF are regarded as a single EOL.Unless this property is specified as &quot;asis&quot;,this sequence will be converted into the specified EOLtype.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="javafiles" REQUIRED="no">
			<DESCRIPTION>Used only in association with the&quot;tab&quot; attribute (see below), thisboolean attribute indicates whether the fileset is a setof java source files(&quot;yes&quot;/&quot;no&quot;). Defaults to&quot;no&quot;.  See notes in section on &quot;tab&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tab" REQUIRED="no">
			<DESCRIPTION>Specifies how tab characters are to be handled.  Validvalues for this property are:add: convert sequences of spaces which span a tab stop to tabsasis: leave tab and space characters aloneremove: convert tabs to spacesDefault for this parameter is &quot;asis&quot;.N.B.: When the attribute&quot;javafiles&quot; (see above) is&quot;true&quot;, literal TAB characters occurringwithin Java string or character constants are nevermodified.  This functionality also requires therecognition of Java-style comments.N.B.: There is an incompatibility between thisand the previous version in the handling of whitespace at the end of lines.  This version doesnot remove trailing whitespace on lines.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tablength" REQUIRED="no">
			<DESCRIPTION>TAB character interval. Valid values are between2 and 80 inclusive.  The default for this parameter is 8</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="eof" REQUIRED="no">
			<DESCRIPTION>Specifies how DOS end of file (control-Z) characters areto be handled.  Valid values for this property are:add: ensure that there is an EOF character at the end of the fileasis: leave EOF characters aloneremove: remove any EOF character found at the endDefault is based on the platform on which you are running this task.For Unix platforms, the default is remove.  For DOS based systems(including Windows), the default is asis.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no - defaults to default jvm encoding">
			<DESCRIPTION>The encoding of the file</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="genkey">
		<DESCRIPTION>&lt;p&gt;Generates a key in keystore. This task needs Java1.2 or later&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="alias" REQUIRED="yes.">
			<DESCRIPTION>the alias to add unde</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="storepass" REQUIRED="yes.">
			<DESCRIPTION>password for keystore integrity. Mustbe at least 6 characters lon</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keystore" REQUIRED="no">
			<DESCRIPTION>keystore locatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="storetype" REQUIRED="no">
			<DESCRIPTION>keystore typ</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keypass" REQUIRED="no">
			<DESCRIPTION>password for private key (if different</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sigalg" REQUIRED="no">
			<DESCRIPTION>the algorithm to use in signin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keyalg" REQUIRED="no">
			<DESCRIPTION>the method to use when generating name-value pai</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>(true | false) verbose output when signin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dname" REQUIRED="yes if dname element unspecified">
			<DESCRIPTION>The distinguished name for entit</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="validity" REQUIRED="no">
			<DESCRIPTION>(integer) indicates how many days certificate is vali</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keysize" REQUIRED="no">
			<DESCRIPTION>(integer) indicates the size of key generate</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="get">
		<DESCRIPTION>&lt;p&gt;Gets a file from a URL. When the verbose option is &amp;quot;on&amp;quot;, this task
displays a '.' for every 100 Kb retrieved. Any URL schema supported by
the runtime is valid here, including http:, ftp: and jar:; 
https: is only valid if the appropriate support is added to the pre-1.4 Java
runtimes. 
&lt;/p&gt;
&lt;p&gt;This task should be preferred above the &lt;a href=&quot;cvs.html&quot;&gt;CVS task&lt;/a&gt; when
fetching remote content. CVS is significantly slower than loading a compressed
archive compared to http/ftp.&lt;/p&gt;
The &lt;i&gt;usetimestamp&lt;/i&gt; option enables you to control downloads so that the remote file is
only fetched if newer than the local copy. If there is no local copy, the download always takes 
place. When a file is downloaded, the timestamp of the downloaded file is set to the remote timestamp,
if  the JVM is Java1.2 or later. 
NB: This timestamp facility only works on downloads using the HTTP protocol. 
&lt;p&gt;
A username and password can be specified, in which case basic 'slightly encoded
plain text' authentication is used. This is only a secure authentication
mechanism over an HTTPS link.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="src" REQUIRED="yes">
			<DESCRIPTION>the URL from which to retrieve a file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>the file where to store the retrieved file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no; default &quot;false&quot;">
			<DESCRIPTION>show verbose progress information (&quot;on&quot;/&quot;off&quot;)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ignoreerrors" REQUIRED="no; default &quot;false&quot;">
			<DESCRIPTION>Log errors but don't treat as fatal</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="usetimestamp" REQUIRED="no; default &quot;false&quot;">
			<DESCRIPTION>conditionally download a file based on the timestamp of thelocal copy. HTTP onl</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="username" REQUIRED="if password is set">
			<DESCRIPTION>username for 'BASIC' http authenticatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="password" REQUIRED="if username is set">
			<DESCRIPTION>password: required</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="input">
		<DESCRIPTION>&lt;p&gt;Allows user interaction during the build process by prompting for
input.  To do so, it uses the configured 
&lt;a href=&quot;../inputhandler.html&quot;&gt;InputHandler&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The prompt can be set via the message attribute or as character
data nested into the element.&lt;/p&gt;
&lt;p&gt;Optinonally a set of valid imput arguments can be defined via the
validargs attribute. Input task will no accept value that don't match
one of the predefined.&lt;/p&gt;
&lt;p&gt;Optionally a property can be created from the value entered by the
user. This property can then be used during the following build
run. Input behaves according to &lt;a href=&quot;property.html&quot;&gt;property
task&lt;/a&gt; which means that existing properties cannot be overriden.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="message" REQUIRED="no">
			<DESCRIPTION>the Message which gets displayed to the userduring the build run</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="validargs" REQUIRED="no">
			<DESCRIPTION>comma separated String containing valid inputarguments. If set, input task will reject any input not definedhere.  Validargs are compared case sensitive. If you want 'a' and'A' to be accepted you will need to define both arguments withinvalidargs</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="addproperty" REQUIRED="no">
			<DESCRIPTION>the name of a property to be created frominput. Behaviour is equal to propertytask which means that existing properties cannot beoverriden</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jar">
		<DESCRIPTION>&lt;p&gt;Jars a set of files.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;basedir&lt;/i&gt; attribute is the reference directory from where to jar.&lt;/p&gt;
&lt;p&gt;Note that file permissions will not be stored in the resulting jarfile.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being jarred. This can be
done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;You can also use nested file sets for more flexibility, and specify
multiple ones to merge together different trees of files into one JAR.
The extended fileset and groupfileset attributes from the zip task are
also available in the jar task.
See the &lt;a href=&quot;zip.html&quot;&gt;Zip&lt;/a&gt; task for more details and examples.&lt;/p&gt;
&lt;p&gt;If the manifest is omitted, a simple one will be supplied by Ant.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;update&lt;/code&gt; parameter controls what happens if the
JAR file already exists. When set to &lt;code&gt;yes&lt;/code&gt;, the JAR file is
updated with the files specified. When set to &lt;code&gt;no&lt;/code&gt; (the
default) the JAR file is overwritten. An example use of this is
provided in the &lt;a href=&quot;zip.html&quot;&gt;Zip task documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;(The Jar task is a shortcut for specifying the manifest file of a JAR file.
The same thing can be accomplished by using the &lt;i&gt;fullpath&lt;/i&gt;
attribute of a zipfileset in a Zip task. The one difference is that if the
&lt;i&gt;manifest&lt;/i&gt; attribute is not specified, the Jar task will
include an empty one for you.)&lt;/p&gt;
&lt;p&gt;Manifests are processed by the Jar task according to the
&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html&quot;&gt;Jar file specification.&lt;/a&gt;
Note in particular that this may result in manifest lines greater than 72 bytes
being wrapped and continued on the next line.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>the JAR file to create</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="basedir" REQUIRED="no">
			<DESCRIPTION>the directory from which to jar the files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compress" REQUIRED="no">
			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>The character encoding to use for filenamesinside the archive.  Defaults to UTF8. It is notrecommended to change this value as the created archive will mostlikely be unreadable for Java otherwise</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="manifest" REQUIRED="no">
			<DESCRIPTION>the manifest file to use.  This can be either the location of a manifest, or the name of a jar added through a fileset.  If its the name of an added jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.M</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="update" REQUIRED="no">
			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="whenempty" REQUIRED="no">
			<DESCRIPTION>behavior when no files match.  Valid values are &quot;fail&quot;, &quot;skip&quot;, and &quot;create&quot;.  Default is &quot;skip&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;.  The default value is &quot;add&quot;. </DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="index" REQUIRED="no">
			<DESCRIPTION>whether to create an index list to speed up classloading.  This is a JDK 1.3+ specific feature.  Defaults to false.</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="java">
		<DESCRIPTION>&lt;p&gt;Executes a Java class within the running (Ant) VM or forks another VM if
specified.&lt;/p&gt;
&lt;p&gt;
If odd things go wrong when you run this task, set fork=&quot;true&quot; to use a new
JVM.
</DESCRIPTION>
		<ATTRIBUTE NAME="classname" REQUIRED="either jar or classname">
			<DESCRIPTION>the Java class to execute</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="jar" REQUIRED="either jar or classname">
			<DESCRIPTION>the location of the jar file to execute (must have a Main-Class entry in the manifest). Fork must be set to true if this option is selected</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="args" REQUIRED="no">
			<DESCRIPTION>the arguments for the class that isexecuted. deprecated, use nested &lt;arg&gt;elements instead</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>the classpath to use</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>the classpath to use, given as reference to a PATH defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fork" REQUIRED="no">
			<DESCRIPTION>if enabled triggers the class execution in another VM(disabled by default</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="jvm" REQUIRED="no">
			<DESCRIPTION>the command used to invoke the Java Virtual Machine,default is 'java'.  The command is resolved by java.lang.Runtime.exec().Ignored if fork is disabled.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="jvmargs" REQUIRED="no">
			<DESCRIPTION>the arguments to pass to the forked VM (ignoredif fork is disabled). deprecated, use nested&lt;jvmarg&gt; elements instead</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
			<DESCRIPTION>Max amount of memory to allocate to the forked VM(ignored if fork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0. Default is &quot;false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>The directory to invoke the VM in.  (ignored iffork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output" REQUIRED="no">
			<DESCRIPTION>Name of a file to write the output to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no">
			<DESCRIPTION>whether output should be appended to or overwritean existing file.  Defaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="newenvironment" REQUIRED="no">
			<DESCRIPTION>Do not propagate old environment when newenvironment variables are specified. Default is &quot;false&quot;(ignored if fork is disabled)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeout" REQUIRED="no">
			<DESCRIPTION>Stop the command if it doesn't finish within thespecified time (given in milliseconds).  It is highlyrecommended to use this feature only if fork is enabled</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="javac">
		<DESCRIPTION>&lt;p&gt;Compiles a Java source tree.&lt;/p&gt;
&lt;p&gt;The source and destination directory will be recursively scanned for Java
source files to compile. Only Java files that have no corresponding
&lt;code&gt;.class&lt;/code&gt; file
or where the class file is older than the
&lt;code&gt;.java&lt;/code&gt; file will be compiled.&lt;/p&gt;
&lt;p&gt;Note: Ant uses only the names of the source and class files to find
the classes that need a rebuild. It will not scan the source and therefore
will have no knowledge about nested classes, classes that are named different
from the source file, and so on. See the
&lt;a href=&quot;../OptionalTasks/depend.html&quot;&gt;&lt;code&gt;&amp;lt;depend&amp;gt;&lt;/code&gt;&lt;/a&gt; task
for dependency checking based on other than just
existence/modification times.&lt;/p&gt;
&lt;p&gt;When the source files are part of a package, the directory structure of
the source tree should follow the package
hierarchy.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being compiled.
This can be done with the &lt;code&gt;includes&lt;/code&gt;, &lt;code&gt;includesfile&lt;/code&gt;,
&lt;code&gt;excludes&lt;/code&gt;, and &lt;code&gt;excludesfile&lt;/code&gt;
attributes. With the &lt;code&gt;includes&lt;/code&gt; or
&lt;code&gt;includesfile&lt;/code&gt; attribute, you specify the files you want to
have included.
The &lt;code&gt;exclude&lt;/code&gt; or &lt;code&gt;excludesfile&lt;/code&gt; attribute is used
to specify
the files you want to have excluded. In both cases, the list of files 
can be specified by either the filename, relative to the directory(s) specified
in the &lt;code&gt;srcdir&lt;/code&gt; attribute or nested &lt;code&gt;&amp;lt;src&amp;gt;&lt;/code&gt;
element(s), or by using wildcard patterns. See the section on
&lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory-based tasks&lt;/a&gt;,
for information on how the
inclusion/exclusion of files works, and how to write wildcard patterns.&lt;/p&gt;
&lt;p&gt;It is possible to use different compilers. This can be specified by
either setting the global &lt;code&gt;build.compiler&lt;/code&gt; property, which will
affect all &lt;code&gt;&amp;lt;javac&amp;gt;&lt;/code&gt; tasks throughout the build, or by
setting the &lt;code&gt;compiler&lt;/code&gt; attribute, specific to the current
&lt;code&gt;&amp;lt;javac&amp;gt;&lt;/code&gt; task.
&lt;a name=&quot;compilervalues&quot;&gt;Valid values for either the
&lt;code&gt;build.compiler&lt;/code&gt; property or the &lt;code&gt;compiler&lt;/code&gt;
attribute are:&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;classic&lt;/code&gt; (the standard compiler of JDK 1.1/1.2) &amp;ndash;
&lt;code&gt;javac1.1&lt;/code&gt; and
&lt;code&gt;javac1.2&lt;/code&gt; can be used as aliases.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;modern&lt;/code&gt; (the standard compiler of JDK 1.3/1.4) &amp;ndash;
&lt;code&gt;javac1.3&lt;/code&gt; and
&lt;code&gt;javac1.4&lt;/code&gt; can be used as aliases.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jikes&lt;/code&gt; (the &lt;a
href=&quot;http://oss.software.ibm.com/developerworks/opensource/jikes/&quot; target=&quot;_top&quot;&gt;Jikes&lt;/a&gt;
compiler).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jvc&lt;/code&gt; (the Command-Line Compiler from Microsoft's SDK
for Java / Visual J++) &amp;ndash; &lt;code&gt;microsoft&lt;/code&gt; can be used
as an alias.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kjc&lt;/code&gt; (the &lt;a href=&quot;http://www.dms.at/kopi/&quot; target=&quot;_top&quot;&gt;kopi&lt;/a&gt;
compiler).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gcj&lt;/code&gt; (the gcj compiler from gcc).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sj&lt;/code&gt; (Symantec java compiler) &amp;ndash;
&lt;code&gt;symantec&lt;/code&gt; can be used as an alias.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;extJavac&lt;/code&gt; (run either modern or classic in a JVM of
its own).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The default is &lt;code&gt;javac1.x&lt;/code&gt; with &lt;code&gt;x&lt;/code&gt; depending
on the JDK version you use while you are running Ant.
If you wish to use a different compiler interface than those
supplied, you can write a class that implements the CompilerAdapter interface
(&lt;code&gt;package org.apache.tools.ant.taskdefs.compilers&lt;/code&gt;). Supply the full
classname in the &lt;code&gt;build.compiler&lt;/code&gt; property or the
&lt;code&gt;compiler&lt;/code&gt; attribute.
&lt;/p&gt;
&lt;p&gt;The fork attribute overrides the &lt;code&gt;build.compiler&lt;/code&gt; property
or &lt;code&gt;compiler&lt;/code&gt; attribute setting and
expects a JDK1.1 or higher to be set in &lt;code&gt;JAVA_HOME&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;You can also use the &lt;code&gt;compiler&lt;/code&gt; attribute to tell Ant
which JDK version it shall assume when it puts together the command
line switches - even if you set &lt;code&gt;fork=&amp;quot;true&amp;quot;&lt;/code&gt;.
This is useful if you want to run the compiler of JDK 1.1 while you
current JDK is 1.2+.  If you use
&lt;code&gt;compiler=&amp;quot;javac1.1&amp;quot;&lt;/code&gt; and (for example)
&lt;code&gt;depend=&amp;quot;true&amp;quot;&lt;/code&gt; Ant will use the command line
switch &lt;code&gt;-depend&lt;/code&gt; instead of &lt;code&gt;-Xdepend&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This task will drop all entries that point to non-existent
files/directories from the classpath it passes to the compiler.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Windows Note:&lt;/strong&gt;When the modern compiler is used
in unforked mode on Windows, it locks up the files present in the
classpath of the &lt;code&gt;&amp;lt;javac&amp;gt;&lt;/code&gt; task, and does not release them.
The side effect of this is that you will not be able to delete or move
those files later on in the build.  The workaround is to fork when
invoking the compiler.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="srcdir" REQUIRED="yes, unless nested &lt;src&gt; elements are present.">
			<DESCRIPTION>Location of the java files. (See thenote below.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="no">
			<DESCRIPTION>Location to store the class files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>Comma- or space-separated list of files (may be specified usingwildcard patterns) that must beincluded; all .java files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>The name of a file that contains a list of files toinclude (may be specified using wildcard patterns)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>Comma- or space-separated list of files (may be specified usingwildcard patterns) that must be excluded; no files (except defaultexcludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>The name of a file that contains a list of files toexclude (may be specified using wildcard patterns)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>The classpath to use</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sourcepath" REQUIRED="no">
			<DESCRIPTION>The sourcepath to use; defaults to the value of the srcdir attribute (or nested &lt;src&gt; elements).To suppress the sourcepath switch, use sourcepath=&quot;&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bootclasspath" REQUIRED="no">
			<DESCRIPTION>Location of bootstrap class files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>The classpath to use, given as areference to a path defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sourcepathref" REQUIRED="no">
			<DESCRIPTION>The sourcepath to use, given as areference to a path defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bootclasspathref" REQUIRED="no">
			<DESCRIPTION>Location of bootstrap class files, given as areference to a path defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
			<DESCRIPTION>Location of installed extensions</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>Encoding of source files. (Note: gcj doesn't supportthis option yet.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nowarn" REQUIRED="no">
			<DESCRIPTION>Indicates whether the -nowarn switchshould be passed to the compiler; defaults to off</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debug" REQUIRED="no">
			<DESCRIPTION>Indicates whether source should be compiled with debuginformation; defaults to off</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debuglevel" REQUIRED="no">
			<DESCRIPTION>Keyword list to be appended to the -gcommand-line switch.  This will be ignored by all implementations exceptmodern and classic(ver &gt;= 1.2).Legal values are none or a comma-separated list of thefollowing keywords:lines, vars, and source.If debuglevel is not specified, by default,:none will beappended to -g.  If debug is not turned on,this attribute will be ignored.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="optimize" REQUIRED="no">
			<DESCRIPTION>Indicates whether source should be compiled withoptimization; defaults to off</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="deprecation" REQUIRED="no">
			<DESCRIPTION>Indicates whether source should be compiled withdeprecation information; defaults to off</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="target" REQUIRED="no">
			<DESCRIPTION>Generate class files for specific VM version(e.g., 1.1 or 1.2). Note that thedefault value depends on the JVM that is running Ant.  Inparticular, if you use JDK 1.4 the generated classes will not beusable for a 1.1 Java VM unless you explicitly set this attributeto the value 1.1 (which is the default value for JDK 1.1 to1.3)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>Asks the compiler for verbose output</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="depend" REQUIRED="no">
			<DESCRIPTION>Enables dependency-trackingfor compilers that support this (jikes andclassic)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includeantruntime" REQUIRED="no">
			<DESCRIPTION>Whether to include the Ant run-time libraries in theclasspath; defaults to yes</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includejavaruntime" REQUIRED="no">
			<DESCRIPTION>Whether to include the default run-timelibraries from the executing VM in the classpath;defaults to yes</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fork" REQUIRED="no">
			<DESCRIPTION>Whether to execute javac using theJDK compiler externally; defaults to no</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="executable" REQUIRED="no">
			<DESCRIPTION>Complete path to the javacexecutable to use in case of fork=&quot;yes&quot;.Defaults to the compiler of the Java version that is currentlyrunning Ant.  Ignored if fork=&quot;no</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="memoryinitialsize" REQUIRED="no">
			<DESCRIPTION>The initial size of the memory for the underlying VM,if javac is run externally; ignored otherwise. Defaultsto the standard VM memory setting.(Examples: 83886080, 81920k, or80m</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="memorymaximumsize" REQUIRED="no">
			<DESCRIPTION>The maximum size of the memory for the underlying VM,if javac is run externally; ignored otherwise. Defaultsto the standard VM memory setting.(Examples: 83886080, 81920k, or80m</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Indicates whether the build will continue even if there are compilation errors; defaults to true.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="source" REQUIRED="no">
			<DESCRIPTION>Value of the -source command-lineswitch; will be ignored by all implementations exceptjavac1.4 (or modern when Ant is notrunning in a 1.3 VM) and jikesIf you use thisattribute together with jikes, you must make surethat your version of jikes supports the -sourceswitchLegal values are 1.3 and 1.4&amp;ndash; by default, no -source argument will be usedat all</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compiler" REQUIRED="no">
			<DESCRIPTION>The compiler implementation to use.If this attribute is not set, the value of thebuild.compiler property, if set, will be used.Otherwise, the default compiler for the current VM will be used.(See the above list of validcompilers.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="listfiles" REQUIRED="no">
			<DESCRIPTION>Indicates whether the source files to be compiled willbe listed; defaults to no</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="javadoc">
		<DESCRIPTION>&lt;p&gt;Generates code documentation using the javadoc tool.&lt;/p&gt;
&lt;p&gt;The source directory will be recursively scanned for Java source files to process
but only those matching the inclusion rules, and not matching the exclusions 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
&amp;quot;changed&amp;quot; files, unlike the &lt;a href=&quot;javac.html&quot;&gt;javac&lt;/a&gt; task. This means
all packages will be processed each time this task is run. In general, however,
this task is used much less frequently.&lt;/p&gt;
&lt;p&gt;This task works seamlessly between different javadoc versions (1.1,
1.2 and 1.4), with the obvious restriction that the 1.2 attributes
will be ignored if run in a 1.1 VM.&lt;/p&gt;
&lt;p&gt;NOTE: since javadoc calls System.exit(), javadoc cannot be run inside the
same VM as ant without breaking functionality. For this reason, this task 
always forks the VM. This overhead is not significant since javadoc is normally a heavy
application and will be called infrequently.&lt;/p&gt;
&lt;p&gt;NOTE: the packagelist attribute allows you to specify the list of packages to 
document outside of the Ant file. It's a much better practice to include everything 
inside the build.xml file. This option was added in order to make it easier to 
migrate from regular makefiles, where you would use this option of javadoc. 
The packages listed in packagelist are not checked, so the task performs even 
if some packages are missing or broken. Use this option if you wish to convert from 
an existing makefile. Once things are running you should then switch to the regular 
notation. &lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;b&gt;DEPRECATION:&lt;/b&gt; the javadoc2 task simply points to the javadoc task and it's
there for back compatibility reasons. Since this task will be removed in future
versions, you are strongly encouraged to use &lt;a href=&quot;javadoc.html&quot;&gt;javadoc&lt;/a&gt;
instead.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;In the table below, 1.1 means available if your current Java VM is
a 1.1 VM, 1.2 for either 1.2 or 1.3 and 1.4 for a 1.4 Java VM.  1.2+
means any VM of at least version 1.2.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="sourcepath" REQUIRED="at least one of the three or nested
     &lt;sourcepath&gt;, &lt;fileset&gt; or
     &lt;packageset&gt;">
			<DESCRIPTION>Specify where to find source file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sourcepathref" REQUIRED="">
			<DESCRIPTION>Specify where to find source files by reference to a PATH defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sourcefiles" REQUIRED="">
			<DESCRIPTION>Comma separated list of source file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="yes, unless a doclet has been specified.">
			<DESCRIPTION>Destination directory for output file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
			<DESCRIPTION>Max amount of memory to allocate to the javadoc V</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="packagenames" REQUIRED="no">
			<DESCRIPTION>Comma separated list of package files (with terminatingwildcard</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="packagelist" REQUIRED="no">
			<DESCRIPTION>The name of a file containing the packages to proces</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>Specify where to find user class file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bootclasspath" REQUIRED="no">
			<DESCRIPTION>Override location of class files loaded by the bootstrapclass loade</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>Specify where to find user class files by reference to a PATH defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bootclasspathref" REQUIRED="no">
			<DESCRIPTION>Override location of class files loaded by thebootstrap class loader by reference to aPATH defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
			<DESCRIPTION>Override location of installed extension</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="overview" REQUIRED="no">
			<DESCRIPTION>Read overview documentation from HTML fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="access" REQUIRED="no (default protected)">
			<DESCRIPTION>Access mode: one of public, protected,package, or privat</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="public" REQUIRED="no">
			<DESCRIPTION>Show only public classes and member</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="protected" REQUIRED="no">
			<DESCRIPTION>Show protected/public classes and members (default</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="package" REQUIRED="no">
			<DESCRIPTION>Show package/protected/public classes and member</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="private" REQUIRED="no">
			<DESCRIPTION>Show all classes and member</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="old" REQUIRED="no">
			<DESCRIPTION>Generate output using JDK 1.1 emulating docle</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>Output messages about what Javadoc is doin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="locale" REQUIRED="no">
			<DESCRIPTION>Locale to be used, e.g. en_US or en_US_WI</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>Source file encoding nam</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="version" REQUIRED="no">
			<DESCRIPTION>Include @version paragraph</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="use" REQUIRED="no">
			<DESCRIPTION>Create class and package usage page</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="author" REQUIRED="no">
			<DESCRIPTION>Include @author paragraph</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="splitindex" REQUIRED="no">
			<DESCRIPTION>Split index into one file per lette</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="windowtitle" REQUIRED="no">
			<DESCRIPTION>Browser window title for the documentation (text</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="doctitle" REQUIRED="no">
			<DESCRIPTION>Include title for the package index(first) page (html-code</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="header" REQUIRED="no">
			<DESCRIPTION>Include header text for each page (html-code</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="footer" REQUIRED="no">
			<DESCRIPTION>Include footer text for each page (html-code</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bottom" REQUIRED="no">
			<DESCRIPTION>Include bottom text for each page (html-code</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="link" REQUIRED="no">
			<DESCRIPTION>Create links to javadoc output at the given UR</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="linkoffline" REQUIRED="no">
			<DESCRIPTION>Link to docs at &lt;url&gt; using package list at&lt;url2&gt; - separate the URLs by using a space character</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="group" REQUIRED="no">
			<DESCRIPTION>Group specified packages together in overviewpage.  The format is as described below</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodeprecated" REQUIRED="no">
			<DESCRIPTION>Do not include @deprecated informatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodeprecatedlist" REQUIRED="no">
			<DESCRIPTION>Do not generate deprecated lis</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="notree" REQUIRED="no">
			<DESCRIPTION>Do not generate class hierarch</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="noindex" REQUIRED="no">
			<DESCRIPTION>Do not generate inde</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nohelp" REQUIRED="no">
			<DESCRIPTION>Do not generate help lin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nonavbar" REQUIRED="no">
			<DESCRIPTION>Do not generate navigation ba</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="serialwarn" REQUIRED="no">
			<DESCRIPTION>Generate warning about @serial ta</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="helpfile" REQUIRED="no">
			<DESCRIPTION>Specifies the HTML help file to us</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="stylesheetfile" REQUIRED="no">
			<DESCRIPTION>Specifies the CSS stylesheet to us</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="charset" REQUIRED="no">
			<DESCRIPTION>Charset for cross-platform viewing of generateddocumentatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="docencoding" REQUIRED="no">
			<DESCRIPTION>Output file encoding nam</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="doclet" REQUIRED="no">
			<DESCRIPTION>Specifies the class file that starts the doclet used in generating the documentation</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="docletpath" REQUIRED="no">
			<DESCRIPTION>Specifies the path to the doclet class file that is specified with the -doclet option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="docletpathref" REQUIRED="no">
			<DESCRIPTION>Specifies the path to the doclet class file thatis specified with the -doclet option by reference to a PATH defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="additionalparam" REQUIRED="no">
			<DESCRIPTION>Lets you add additional parameters to the javadoccommand line. Useful for doclets. Parameters containingspaces need to be quoted using &amp;quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludepackagenames" REQUIRED="no">
			<DESCRIPTION>comma separated list of packages you don't wantdocs for</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used(yes | no); default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="useexternalfile" REQUIRED="no">
			<DESCRIPTION>indicates whether the sourcefile name specifiedin srcfiles or as nested source elements should be written to atemporary file to make the command line shorter. Also applies tothe package names specified via the packagenames attribute ornested package elements.(yes | no). Default is no</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="source" REQUIRED="no">
			<DESCRIPTION>Necessary to enable javadoc to handle assertionspresent in J2SE v 1.4 source code. Set this to &quot;1.4&quot; todocuments code that compiles using &quot;javac -source1.4&quot;.  Will be ignored if you use a customdoclet</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="loadfile">
		<DESCRIPTION>&lt;p&gt;
Load a text file into a single property. Unless an encoding is specified,
the encoding of the current locale is used.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="srcfile" REQUIRED="yes">
			<DESCRIPTION>source fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>property to save t</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>encoding to use when loading the fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no, default &quot;true&quot;">
			<DESCRIPTION>Whether to halt the build on failur</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="loadproperties">
		<DESCRIPTION>&lt;p&gt;
Load a file's contents as Ant properties.  This is equivalent
to &amp;lt;property file=&amp;quot;...&amp;quot;/&amp;gt; except that it
supports nested &amp;lt;filterchain&amp;gt; elements and it cannot be
specified outside a target.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="srcfile" REQUIRED="yes">
			<DESCRIPTION>source fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>encoding to use when loading the fil</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="mail">
		<DESCRIPTION>&lt;p&gt;A task to send SMTP email. This task can send mail using either plain
text, UU encoding, or MIME format mail, depending on what is available.
Attachments may be sent using nested
&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;fileset&lt;/a&gt; elements.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This task may depend on external libraries
that are not included
in the Ant distribution.  See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;
Library Dependencies&lt;/a&gt; for more information.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="from" REQUIRED="either a from attribute, or a &lt;from&gt;
     element.">
			<DESCRIPTION>Email address of sender</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tolist" REQUIRED="at least one of these, or the
        equivalent elements.">
			<DESCRIPTION>Comma-separated list of recipients</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cclist" REQUIRED="">
			<DESCRIPTION>Comma-separated list of recipients to carbon cop</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bcclist" REQUIRED="">
			<DESCRIPTION>Comma-separated list of recipients to carbon cop</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="message" REQUIRED="one of these or a
     &lt;message&gt; element.">
			<DESCRIPTION>Message to send in the body of the email</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="messagefile" REQUIRED="">
			<DESCRIPTION>File to send as the body of the email. Propertyvalues in the file will be expanded</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="messagemimetype" REQUIRED="no">
			<DESCRIPTION>The content type of the message.  The default istext/plain</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="files" REQUIRED="no">
			<DESCRIPTION>Files to send as attachments to the email.  Separate multiplefile names using a comma.  You can also use &lt;fileset&gt;elements to specify files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no.">
			<DESCRIPTION>flag to indicate whether to halt the build onany error.  The default value is true</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includefilenames" REQUIRED="no">
			<DESCRIPTION>Include filename(s) before file contents.Valid only when the plain encoding is used.  The defaultvalue is false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mailhost" REQUIRED="no">
			<DESCRIPTION>Host name of the SMTP server.  The default value islocalhost</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mailport" REQUIRED="no">
			<DESCRIPTION>TCP port of the SMTP server.  The default value is 25</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>Specifies the encoding to use for the content of the email.Values are mime, uu, plain, orauto.  The default value is auto</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="subject" REQUIRED="no">
			<DESCRIPTION>Email subject line</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="manifest">
		<DESCRIPTION>&lt;p&gt;Creates a manifest file.&lt;/p&gt;
&lt;p&gt;This task can be used to write a Manifest file, optionally
replacing or updating an existing file.&lt;/p&gt;
&lt;p&gt;Manifests are processed according to the 
&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html&quot;&gt;Jar
file specification.&lt;/a&gt;. Specifically, a manifest element consists of
a set of attributes and sections. These sections in turn may contain
attributes. Note in particular that this may result in manifest lines
greater than 72 bytes being wrapped and continued on the next
line.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="yes">
			<DESCRIPTION>the manifest-file to create/update</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mode" REQUIRED="no">
			<DESCRIPTION>One of &quot;update&quot; or &quot;replace&quot;, default is &quot;replace&quot;</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="mkdir">
		<DESCRIPTION>&lt;p&gt;Creates a directory. Also non-existent parent directories are created, when
necessary.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="dir" REQUIRED="yes">
			<DESCRIPTION>the directory to create</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="move">
		<DESCRIPTION>&lt;p&gt;Moves a file to a new file or directory, or sets of files to
a new directory.  By default, the
destination file is overwritten if it already exists.  When &lt;var&gt;overwrite&lt;/var&gt; is
turned off, then files are only moved if the source file is newer than
the destination file, or when the destination file does not exist.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are used to select sets of files
to move to the &lt;var&gt;todir&lt;/var&gt; directory.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="one of file or
      at least one nested fileset element">
			<DESCRIPTION>the file to mov</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tofile" REQUIRED="with the file attribute,
     either tofile or todir can be used.  with nested filesets,
     if the fileset size is greater than 1 or if the only entry in the fileset is a
     directory or if the file attribute is already specified, only
     todir is allowed">
			<DESCRIPTION>the file to move t</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="todir" REQUIRED="">
			<DESCRIPTION>the directory to move t</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="overwrite" REQUIRED="no">
			<DESCRIPTION>overwrite existing files even if the destinationfiles are newer (default is &quot;true&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtering" REQUIRED="no">
			<DESCRIPTION>indicates whether token filtering should take place duringthe move.  See the filter task for a description ofhow filters work</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="flatten" REQUIRED="no">
			<DESCRIPTION>ignore directory structure of source directory,copy all files into a single directory, specified by the todirattribute (default is &quot;false&quot;).Note that you can achieve thesame effect by using a flatten mappe</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includeemptydirs" REQUIRED="no">
			<DESCRIPTION>Copy empty directories included with the nested FileSet(s).Defaults to &quot;yes&quot;</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="parallel">
		<DESCRIPTION>&lt;p&gt;Parallel is a container task - it can contain other Ant tasks. Each nested
task within the parallel task will be executed in its own thread. &lt;/p&gt;
&lt;p&gt;Parallel tasks have a number of uses in an Ant buildfile including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Taking advantage of available processing resources to reduce build time&lt;/li&gt;
&lt;li&gt;Testing servers, where the server can be run in one thread and the test
harness is run in another thread.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Care must be taken when using multithreading to ensure the tasks within the
threads do not interact. For example, two javac compile tasks which write 
classes into the same destination directory may interact where one tries to
read a class for dependency information while the other task is writing the 
class file. Be sure to avoid these types of interactions within a 
&amp;lt;parallel&amp;gt; task&lt;/p&gt;
&lt;p&gt;The parallel task has no attributes and does not support any nested 
elements apart from Ant tasks. Any valid Ant task may be embedded within a 
parallel task, including other parallel tasks.&lt;/p&gt;
&lt;p&gt;Note that while the tasks within the parallel task are being run, the main 
thread will be blocked waiting for all the child threads to complete.&lt;/p&gt;  
&lt;p&gt;If any of the tasks within the &amp;lt;parallel&amp;gt; task fails, the remaining 
tasks in other threads will continue to run until all threads have completed. 
In this situation, the parallel task will also fail.&lt;/p&gt;
&lt;p&gt;The parallel task may be combined with the &lt;a href=&quot;sequential.html&quot;&gt;
sequential&lt;/a&gt; task to define sequences of tasks to be executed on each thread
within the parallel block&lt;/p&gt;
&lt;h3&gt;Examples&lt;/h3&gt;
&lt;pre&gt;
&amp;lt;parallel&amp;gt;
&amp;lt;wlrun ... &amp;gt;
&amp;lt;sequential&amp;gt;
&amp;lt;sleep seconds=&amp;quot;30&amp;quot;/&amp;gt;
&amp;lt;junit ... &amp;gt;
&amp;lt;wlstop/&amp;gt;
&amp;lt;/sequential&amp;gt;
&amp;lt;/parallel&amp;gt;
&lt;/pre&gt;
&lt;p&gt;This example represents a typical pattern for testing a server application. 
In one thread the server is started (the wlrun task). The other thread consists 
of a three tasks which are performed in sequence. The sleep task is used to 
give the server time to come up. Another task which is capable of validating 
that the server is available could be used in place of the sleep task. The 
test harness is then run. Once the tests are complete, the server is stopped 
(using wlstop in this example), allowing both threads to complete. The 
parallel task will also complete at this time and the build will then 
continue.&lt;/p&gt;
&lt;pre&gt;
&amp;lt;parallel&amp;gt;
&amp;lt;javac ...&amp;gt; &amp;lt;!-- compiler servlet code --&amp;gt;
&amp;lt;wljspc ...&amp;gt; &amp;lt;!-- precompile JSPs --&amp;gt;
&amp;lt;/parallel&amp;gt;
&lt;/pre&gt;
&lt;p&gt;This example shows two independent tasks being run to achieve better 
resource utilization during the build. In this instance, some servlets are being
compiled in one thead and a set of JSPs is being precompiled in another. As 
noted above, you need to be careful that the two tasks are independent, both in 
terms of their dependencies and in terms of their potential interactions in
Ant's external environment.&lt;/p&gt;
&lt;hr&gt;
&lt;p align=&quot;center&quot;&gt;Copyright &amp;copy; 2001-2002 Apache Software Foundation. All rights
Reserved.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</DESCRIPTION>	</TASK>
	<TASK NAME="patch">
		<DESCRIPTION>&lt;p&gt;Applies a diff file to originals. ; requires &quot;patch&quot; to be
on the execution path.  &lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="patchfile" REQUIRED="yes">
			<DESCRIPTION>the file that includes the diff outpu</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="originalfile" REQUIRED="no, tries to guess it from the diff 
       file">
			<DESCRIPTION>the file to patc</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="backups" REQUIRED="no">
			<DESCRIPTION>Keep backups of the unpatched file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="quiet" REQUIRED="no">
			<DESCRIPTION>Work silently unless an error occur</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="reverse" REQUIRED="no">
			<DESCRIPTION>Assume patch was created with old and new files swapped</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ignorewhitespace" REQUIRED="no">
			<DESCRIPTION>Ignore whitespace differences</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strip" REQUIRED="no">
			<DESCRIPTION>Strip the smallest prefix containing num leading slashes from filenames</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no, default is the project's basedir.">
			<DESCRIPTION>The directory in which to run the patch command</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="pathconvert">
		<DESCRIPTION>&lt;p&gt;Converts a nested &lt;code&gt;&amp;lt;path&amp;gt;&lt;/code&gt; or reference to a Path,
FileSet, DirSet, or FileList into a path
form for a particular platform, and stores the result in a given property.
It can also be used when you need
to convert a Path, FileSet, or DirSet into a list, separated by a given
character, such as a comma or space, or, conversely, to convert a list
of files in a FileList into a path.
&lt;/p&gt;
&lt;p&gt;Nested &lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt; elements can be specified to map Windows
drive letters to Unix paths, and vice-versa.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="targetos" REQUIRED="yes, unless pathsep and/or
        dirsep are specified.
     ">
			<DESCRIPTION>The target architecture.  Must be one of 'unix', 'windows', 'netware' or 'os/2'.This is a shorthand mechanism for specifying bothpathsep and dirsepaccording to the specified target architecture.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dirsep" REQUIRED="no, defaults to current jvm file.separator">
			<DESCRIPTION>The character(s) to use as the directory separator in thegenerated paths.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="pathsep" REQUIRED="no, defaults to current jvm file.pathseparator">
			<DESCRIPTION>The character(s) to use as the path-element separator in thegenerated paths.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of the property in which to place the converted path</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="refid" REQUIRED="no; if omitted, a nested
         &lt;path&gt; element must be supplied.">
			<DESCRIPTION>What to convert, given as areference to a&lt;path&gt;, &lt;fileset&gt;,&lt;dirset&gt;, or &lt;fileset&gt;defined elsewher</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="setonempty" REQUIRED="no; default is &quot;true&quot;.
   ">
			<DESCRIPTION>Should the property be set, even if the resultis the empty string?</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="property">
		<DESCRIPTION>&lt;p&gt;Sets a property (by name and value), or set of properties (from file or
resource) in the project.  Properties are case sensitive.&lt;/p&gt;
Properties are immutable: whoever sets a property first freezes it for the
rest of the build; they are most definately not variable. 
&lt;p&gt;There are five ways to set properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;By supplying both the &lt;i&gt;name&lt;/i&gt; and &lt;i&gt;value&lt;/i&gt; attribute.&lt;/li&gt;
&lt;li&gt;By supplying both the &lt;i&gt;name&lt;/i&gt; and &lt;i&gt;refid&lt;/i&gt; attribute.&lt;/li&gt;
&lt;li&gt;By setting the &lt;i&gt;file&lt;/i&gt; attribute with the filename of the property
file to load. This property file has the format as defined by the file used
in the class java.util.Properties.&lt;/li&gt;
&lt;li&gt;By setting the &lt;i&gt;resource&lt;/i&gt; attribute with the resource name of the
property file to load. This property file has the format as defined by the
file used in the class java.util.Properties.&lt;/li&gt;
&lt;li&gt;By setting the &lt;i&gt;environment&lt;/i&gt; attribute with a prefix to use.
Properties will be defined for every environment variable by
prefixing the supplied name and a period to the name of the variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Although combinations of these ways are possible, only one should be used
at a time. Problems might occur with the order in which properties are set, for
instance.&lt;/p&gt;
&lt;p&gt;The value part of the properties being set, might contain references to other
properties. These references are resolved at the time these properties are set.
This also holds for properties loaded from a property file.&lt;/p&gt;
&lt;p&gt;A list of predefined properties can be found &lt;a
href=&quot;../using.html#built-in-props&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="name" REQUIRED="no">
			<DESCRIPTION>the name of the property to set</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="value" REQUIRED="one of these, when using the
        name attribute">
			<DESCRIPTION>the value of the property</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="location" REQUIRED="">
			<DESCRIPTION>Sets the property to the absolute filename of thegiven file. If the value of this attribute is an absolute path, itis left unchanged (with / and \ characters converted to thecurrent platforms conventions). Otherwise it is taken as a pathrelative to the project's basedir and expanded</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="refid" REQUIRED="">
			<DESCRIPTION>Reference to an objectdefined elsewhere. Only yields reasonable results for referencesto PATH like structures or properties</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="resource" REQUIRED="one of these, when
       not using the name attribute">
			<DESCRIPTION>the resource name of the property file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="file" REQUIRED="">
			<DESCRIPTION>the filename of the property file </DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="environment" REQUIRED="">
			<DESCRIPTION>the prefix to use when retrieving environment variables. Thusif you specify environment=&quot;myenv&quot; you will be able to access OS-specific environment variables via property names &quot;myenv.PATH&quot; or &quot;myenv.TERM&quot;. Note that if you supply a property name with a final &quot;.&quot; it will not be doubled. ie environment=&quot;myenv.&quot; will still allow access of environment variables through &quot;myenv.PATH&quot; and &quot;myenv.TERM&quot;. This functionality is currently only implemented on select platforms. Feel free to send patches to increase the number of platformsthis functionality is supported on ;)Note also that properties are case sensitive, even if theenvironment variables on your operating system are not, e.g. itwill be ${env.Path} not ${env.PATH} on Windows 2000</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>the classpath to use when looking up a resource</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>the classpath to use when looking up a resource,given as reference to a &lt;path&gt; definedelsewhere.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="prefix" REQUIRED="no">
			<DESCRIPTION>Prefix to apply to properties loaded using fileor resource. A &quot;.&quot; is appended to the prefix if not specified</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="recorder">
		<DESCRIPTION>&lt;p&gt;A recorder is a listener to the current build process that records the
output to a file.&lt;/p&gt;
&lt;p&gt;Several recorders can exist at the same time.  Each recorder is
associated with a file.  The filename is used as a unique identifier for
the recorders.  The first call to the recorder task with an unused filename
will create a recorder (using the parameters provided) and add it to the
listeners of the build.  All subsequent calls to the recorder task using
this filename will modify that recorders state (recording or not) or other
properties (like logging level).&lt;/p&gt;
&lt;p&gt;Some technical issues: the file's print stream is flushed for &amp;quot;finished&amp;quot;
events (buildFinished, targetFinished and taskFinished), and is closed on
a buildFinished event.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="name" REQUIRED="yes">
			<DESCRIPTION>The name of the file this logger is associated with</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="action" REQUIRED="no">
			<DESCRIPTION>This tells the logger what to do: should it startrecording or stop?  The first time that the recorder task is called forthis logfile, and if this attribute is not provided, then the defaultfor this attribute is &quot;start&quot;.  If this attribute is not provided onsubsequent calls, then the state remains as previous.[Values = {start|stop}, Default = no state change</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no">
			<DESCRIPTION>Should the recorder append to a file, or create a newone? This is only applicable the first time this task is called forthis file.  [Values = {yes|no}, Default=yes</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="emacsmode" REQUIRED="no, default is false">
			<DESCRIPTION>Removes [task] banners like Ant's-emacs command line switch if set totrue</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="loglevel" REQUIRED="no">
			<DESCRIPTION>At what logging level should this recorder instancerecord to?  This is not a once only parameter (like appendis) -- you can increase or decrease the logging level as the build processcontinues.  [Values= {error|warn|info|verbose|debug}, Default = no change]</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="rename">
		<DESCRIPTION>&lt;p&gt;Renames a given file.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="src" REQUIRED="yes">
			<DESCRIPTION>file to rename</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>new name of the file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="replace" REQUIRED="no">
			<DESCRIPTION>Enable replacing of existing file (default: on)</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="replace">
		<DESCRIPTION>&lt;p&gt;Replace is a directory based task for replacing the occurrence of a given string with another string 
in selected file.&lt;/p&gt;
&lt;p&gt;If you want to replace a text that crosses line boundaries, you
must use a nested &lt;code&gt;&amp;lt;replacetoken&amp;gt;&lt;/code&gt; element.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="exactly one of the two.">
			<DESCRIPTION>file for which the token should be replaced</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="">
			<DESCRIPTION>The base directory to use when replacing a token in multiple files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no - defaults to default jvm encoding">
			<DESCRIPTION>The encoding of the files upon which replace operates</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="token" REQUIRED="yes, unless a nested
     replacetoken element or the replacefilterfile
     attribute is used.">
			<DESCRIPTION>the token which must be replaced</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="value" REQUIRED="no">
			<DESCRIPTION>the new value for the token. When omitted, an empty string(&quot;&quot;) is used</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="summary" REQUIRED="no, by default no summary is produced">
			<DESCRIPTION>Indicates whether a summary of the replace operation should be produced, detailing how many token occurrences and files were processed</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="propertyfile" REQUIRED="yes only if property attribute of &lt;replacefilter&gt; is used.">
			<DESCRIPTION>valid property file from which properties specified using nested &lt;replacefilter&gt; elements are drawn</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="replacefilterfile" REQUIRED="no.">
			<DESCRIPTION>valid property file.  Each property will betreated as a replacefilter where token is the name ofthe property and value is the properties value.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="rmic">
		<DESCRIPTION>&lt;p&gt;Runs the rmic compiler for a certain class.&lt;/p&gt;
&lt;p&gt;Rmic can be run on a single class (as specified with the classname
attribute) or a number of classes at once (all classes below base that
are neither _Stub nor _Skel classes).  If you want to rmic a single
class and this class is a class nested into another class, you have to
specify the classname in the form &lt;code&gt;Outer$$Inner&lt;/code&gt; instead of
&lt;code&gt;Outer.Inner&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being rmiced. This can be
done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;base&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;It is possible to use different compilers. This can be selected
with the &amp;quot;build.rmic&amp;quot; property or the &lt;code&gt;compiler&lt;/code&gt;
attribute. &lt;a name=&quot;compilervalues&quot;&gt;There are three choices&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sun (the standard compiler of the JDK)&lt;/li&gt;
&lt;li&gt;kaffe (the standard compiler of &lt;a href=&quot;http://www.kaffe.org&quot; target=&quot;_top&quot;&gt;Kaffe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;weblogic&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;a href=&quot;http://dione.zcu.cz/~toman40/miniRMI/&quot;&gt;miniRMI&lt;/a&gt;
project contains a compiler implementation for this task as well,
please consult miniRMI's documentation to learn how to use it.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="base" REQUIRED="yes">
			<DESCRIPTION>the location to store the compiled files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classname" REQUIRED="no">
			<DESCRIPTION>the class for which to run rmic</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtering" REQUIRED="no">
			<DESCRIPTION>indicates whether token filtering should take plac</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sourcebase" REQUIRED="no">
			<DESCRIPTION>Pass the &quot;-keepgenerated&quot; flag to rmic andmove the generated source file to the base directory</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="stubversion" REQUIRED="no">
			<DESCRIPTION>Specify the JDK version for the generated stub code.Specify &quot;1.1&quot; to pass the &quot;-v1.1&quot; option to rmic</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>The classpath to use during compilatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>The classpath to use during compilation, given as reference to a PATH defined elsewher</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verify" REQUIRED="no">
			<DESCRIPTION>check that classes implement Remote before handing them to rmic (default is false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="iiop" REQUIRED="no">
			<DESCRIPTION>indicates that portable (RMI/IIOP) stubs should be generate</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="iiopopts" REQUIRED="no">
			<DESCRIPTION>additional arguments for IIOP class generatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="idl" REQUIRED="no">
			<DESCRIPTION>indicates that IDL output files should be generate</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="idlopts" REQUIRED="no">
			<DESCRIPTION>additional arguments for IDL file generatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debug" REQUIRED="no">
			<DESCRIPTION>generate debug info (passes -g to rmic). Defaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includeantruntime" REQUIRED="no">
			<DESCRIPTION>whether to include the Ant run-time libraries;defaults to yes</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includejavaruntime" REQUIRED="no">
			<DESCRIPTION>whether to include the default run-timelibraries from the executing VM; defaults to no</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
			<DESCRIPTION>location of installed extensions</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compiler" REQUIRED="no">
			<DESCRIPTION>The compiler implementation to use.If this attribute is not set, the value of thebuild.rmic property, if set, will be used.Otherwise, the default compiler for the current VM will be used.(See the above list of validcompilers.</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="sequential">
		<DESCRIPTION>&lt;p&gt;Sequential is a container task - it can contain other Ant tasks. The nested 
tasks are simply executed in sequence. Sequential's primary use is to support 
the sequential execution of a subset of tasks within the 
&lt;a href=&quot;parallel.html&quot;&gt;parallel&lt;/a&gt; task&lt;/p&gt;
&lt;p&gt;The sequential task has no attributes and does not support any nested 
elements apart from Ant tasks. Any valid Ant task may be embedded within the 
sequential task.&lt;/p&gt;
&lt;h3&gt;Example&lt;/h3&gt;
&lt;pre&gt;
&amp;lt;parallel&amp;gt;
&amp;lt;wlrun ... &amp;gt;
&amp;lt;sequential&amp;gt;
&amp;lt;sleep seconds=&amp;quot;30&amp;quot;/&amp;gt;
&amp;lt;junit ... &amp;gt;
&amp;lt;wlstop/&amp;gt;
&amp;lt;/sequential&amp;gt;
&amp;lt;/parallel&amp;gt;
&lt;/pre&gt;
&lt;p&gt;This example shows how the sequential task is used to execute three tasks in
sequence, while another task is being executed in a separate thread. &lt;/p&gt;
&lt;hr&gt;
&lt;p align=&quot;center&quot;&gt;Copyright &amp;copy; 2001-2002 Apache Software Foundation. All rights
Reserved.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</DESCRIPTION>	</TASK>
	<TASK NAME="signjar">
		<DESCRIPTION>&lt;p&gt;Signs jar or zip files with the javasign command line tool. The
tool detailed dependency checking: files are only signed if they
are not signed. The &lt;tt&gt;signjar&lt;/tt&gt; attribute can point to the file to
generate; if this file exists then
its modification date is used as a cue as to whether to resign any JAR file.
&lt;br&gt;  
&lt;strong&gt;Note:&lt;/strong&gt; Requires Java 1.2 or later. &lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="jar" REQUIRED="yes.">
			<DESCRIPTION>the jar file to sig</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="alias" REQUIRED="yes.">
			<DESCRIPTION>the alias to sign unde</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="storepass" REQUIRED="yes.">
			<DESCRIPTION>password for keystore integrity</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keystore" REQUIRED="no">
			<DESCRIPTION>keystore locatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="storetype" REQUIRED="no">
			<DESCRIPTION>keystore typ</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keypass" REQUIRED="no">
			<DESCRIPTION>password for private key (if different</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sigfile" REQUIRED="no">
			<DESCRIPTION>name of .SF/.DSA fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="signedjar" REQUIRED="no">
			<DESCRIPTION>name of signed JAR fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no; default false">
			<DESCRIPTION>(true | false) verbose output when signin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="internalsf" REQUIRED="no; default false">
			<DESCRIPTION>(true | false) include the .SF file inside the signaturebloc</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sectionsonly" REQUIRED="no; default false">
			<DESCRIPTION>(true | false) don't compute hash of entire manifes</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="lazy" REQUIRED="no; default false">
			<DESCRIPTION>flag to control whether the presence of a signaturefile means a JAR is signe</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="sleep">
		<DESCRIPTION>&lt;p&gt; A task for sleeping a short period of time, useful when a build or deployment 
process requires an interval between tasks.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="hours" REQUIRED="no">
			<DESCRIPTION>hours to to add to the sleep tim</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="minutes" REQUIRED="no">
			<DESCRIPTION>minutes to add to the sleep tim</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="seconds" REQUIRED="no">
			<DESCRIPTION>seconds to add to the sleep tim</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="milliseconds" REQUIRED="no">
			<DESCRIPTION>milliseconds to add to the sleep tim</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>flag controlling whether to break the build on an error. </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="sql">
		<DESCRIPTION>&lt;p&gt;Executes a series of SQL statements via JDBC to a database. Statements can 
either be read in from a text file using the &lt;i&gt;src&lt;/i&gt; attribute or from 
between the enclosing SQL tags.&lt;/p&gt;
&lt;p&gt;Multiple statements can be provided, separated by semicolons (or the 
defined &lt;i&gt;delimiter&lt;/i&gt;). Individual lines within the statements can be 
commented using either --, // or REM at the start of the line.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;autocommit&lt;/i&gt; attribute specifies whether auto-commit should be 
turned on or off whilst executing the statements. If auto-commit is turned 
on each statement will be executed and committed. If it is turned off the 
statements will all be executed as one transaction.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;onerror&lt;/i&gt; attribute specifies how to proceed when an error occurs 
during the execution of one of the statements. 
The possible values are: &lt;b&gt;continue&lt;/b&gt; execution, only show the error;
&lt;b&gt;stop&lt;/b&gt; execution and commit transaction;
and &lt;b&gt;abort&lt;/b&gt; execution and transaction and fail task.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="driver" REQUIRED="yes">
			<DESCRIPTION>Class name of the jdbc drive</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="url" REQUIRED="yes">
			<DESCRIPTION>Database connection ur</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="userid" REQUIRED="yes">
			<DESCRIPTION>Database user nam</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="password" REQUIRED="yes">
			<DESCRIPTION>Database passwor</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="src" REQUIRED="yes, unless statements enclosed within tags">
			<DESCRIPTION>File containing SQL statement</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no - defaults to default jvm encoding">
			<DESCRIPTION>The encoding of the files containing SQL statement</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="delimiter" REQUIRED="no, default &quot;;&quot;">
			<DESCRIPTION>String that separates SQL statement</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="autocommit" REQUIRED="no, default &quot;false&quot;">
			<DESCRIPTION>Auto commit flag for database connection (default false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="print" REQUIRED="no, default &quot;false&quot;">
			<DESCRIPTION>Print result sets from the statements (default false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="showheaders" REQUIRED="no, default &quot;true&quot;">
			<DESCRIPTION>Print headers for result sets from the statements (default true</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output" REQUIRED="no (print to system.out by default)">
			<DESCRIPTION>Output file for result sets (defaults to System.out</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="append" REQUIRED="no">
			<DESCRIPTION>whether output should be appended to or overwritean existing file.  Defaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no (use system classpath)">
			<DESCRIPTION>Classpath used to load drive</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no (use system classpath)">
			<DESCRIPTION>The classpath to use, given as a reference to a path defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="onerror" REQUIRED="no, default &quot;abort&quot;">
			<DESCRIPTION>Action to perform when statement fails: continue, stop, abor</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="rdbms" REQUIRED="no (no restriction)">
			<DESCRIPTION>Execute task only if this rdbm</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="version" REQUIRED="no (no restriction)">
			<DESCRIPTION>Execute task only if rdbms version matc</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="caching" REQUIRED="no (default=true)">
			<DESCRIPTION>Should the task cache loaders and the driver</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="tar">
		<DESCRIPTION>&lt;p&gt;Creates a tar archive.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;basedir&lt;/i&gt; attribute is the reference directory from where to tar.&lt;/p&gt;
&lt;p&gt;This task is a &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based task&lt;/a&gt;
and, as such, forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;Fileset&lt;/a&gt;. This
defines which files, relative to the &lt;i&gt;basedir&lt;/i&gt;, will be included in the
archive. The tar task supports all the attributes of Fileset to refine the
set of files to be included in the implicit fileset.&lt;/p&gt;
&lt;p&gt;In addition to the implicit fileset, the tar task supports nested filesets. These
filesets are extended to allow control over the access mode, username and groupname
to be applied to the tar entries. This is useful, for example, when preparing archives for
Unix systems where some files need to have execute permission.&lt;/p&gt;
&lt;p&gt;Early versions of tar did not support path lengths greater than 100
characters. Modern versions of tar do so, but in incompatible ways.
The behaviour of the tar task when it encounters such paths is
controlled by the &lt;i&gt;longfile&lt;/i&gt; attribute.
If the longfile attribute is set to &lt;code&gt;fail&lt;/code&gt;, any long paths will
cause the tar task to fail.  If the longfile attribute is set to
&lt;code&gt;truncate&lt;/code&gt;, any long paths will be truncated to the 100 character
maximum length prior to adding to the archive. If the value of the longfile
attribute is set to &lt;code&gt;omit&lt;/code&gt; then files containing long paths will be
omitted from the archive.  Either option ensures that the archive can be
untarred by any compliant version of tar. If the loss of path or file
information is not acceptable, and it rarely is, longfile may be set to the
value &lt;code&gt;gnu&lt;/code&gt;. The tar task will then produce a GNU tar file which
can have arbitrary length paths. Note however, that the resulting archive will
only be able to be untarred with GNU tar.  The default for the longfile
attribute is &lt;code&gt;warn&lt;/code&gt; which behaves just like the gnu option except
that it produces a warning for each file path encountered that does not match
the limit.&lt;/p&gt;
&lt;p&gt;This task can perform compression by setting the compression attribute to &quot;gzip&quot;
or &quot;bzip2&quot;.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>the tar-file to create</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="basedir" REQUIRED="no">
			<DESCRIPTION>the directory from which to tar the files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="longfile" REQUIRED="no">
			<DESCRIPTION>Determines how long files (&gt;100 chars) are to behandled.  Allowable values are &quot;truncate&quot;, &quot;fail&quot;,&quot;warn&quot;, &quot;omit&quot; and &quot;gnu&quot;.  Default is&quot;warn&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compression" REQUIRED="no">
			<DESCRIPTION>compression method.  Allowable values are &quot;none&quot;, &quot;gzip&quot; and &quot;bzip2&quot;.  Default is&quot;none&quot;</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="taskdef">
		<DESCRIPTION>&lt;p&gt;Adds a task definition to the current project, such that this new task can be
used in the current project. Two attributes are needed, the name that identifies
this task uniquely, and the full name of the class (including the packages) that
implements this task.&lt;/p&gt;
&lt;p&gt;You can also define a group of tasks at once using the file or
resource attributes.  These attributes point to files in the format of
Java property files.  Each line defines a single task in the
format:&lt;/p&gt;
&lt;pre&gt;
taskname=fully.qualified.java.classname
&lt;/pre&gt;
&lt;p&gt;Taskdef should be used to add your own tasks to the system. See also &amp;quot;&lt;a
href=&quot;../develop.html#writingowntask&quot;&gt;Writing your own task&lt;/a&gt;&amp;quot;.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="name" REQUIRED="yes, unless file or resource have
     been specified.">
			<DESCRIPTION>the name of the tas</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classname" REQUIRED="yes, unless file or resource have
     been specified.">
			<DESCRIPTION>the full class name implementing the tas</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="file" REQUIRED="no">
			<DESCRIPTION>Name of the property file to loadtaskname/classname pairs from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="resource" REQUIRED="no">
			<DESCRIPTION>Name of the property resource to loadtaskname/classname pairs from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>the classpath touse when looking up classname orresource</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>Reference to a classpath touse when looking up classname orresource</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="loaderref" REQUIRED="no">
			<DESCRIPTION>the name of the loader that isused to load the class, constructed from the specified classpath. Use this toallow multiple tasks/types to be loaded with the same loader, so they can calleach other. ( introduced in ant1.5 </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="touch">
		<DESCRIPTION>&lt;p&gt;Changes the modification time of a file and possibly creates it at
the same time. In addition to working with a single file, this Task
can also work a &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;Fileset&lt;/a&gt; (which
also includes directories).&lt;/p&gt;
&lt;p&gt;For JDK 1.1 only the creation of new files with a modification time
of now works, all other cases will emit a warning.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="unless a nested fileset element
        has been specified.">
			<DESCRIPTION>the name of the fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="millis" REQUIRED="no">
			<DESCRIPTION>specifies the new modification time of the filein milliseconds since midnight Jan 1 197</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="datetime" REQUIRED="no">
			<DESCRIPTION>specifies the new modification time of the filein the format MM/DD/YYYY HH:MM AM_or_PM</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="tstamp">
		<DESCRIPTION>&lt;p&gt;Sets the &lt;code&gt;DSTAMP&lt;/code&gt;, &lt;code&gt;TSTAMP&lt;/code&gt;, and &lt;code&gt;TODAY&lt;/code&gt;
properties in the current project. By default,
the &lt;code&gt;DSTAMP&lt;/code&gt; property is in the
format &amp;quot;yyyyMMdd&amp;quot;, &lt;code&gt;TSTAMP&lt;/code&gt; is in the
format &amp;quot;hhmm&amp;quot;, and &lt;code&gt;TODAY&lt;/code&gt; is in the
format &amp;quot;MMMM dd yyyy&amp;quot;. Use the nested &amp;lt;format&amp;gt; element
to specify a different format.&lt;/p&gt;
&lt;p&gt;These properties can be used in the build-file, for instance, to create
time-stamped filenames, or used to replace placeholder tags inside documents
to indicate, for example, the release date. The best place for this task is
probably in an initialization target.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="prefix" REQUIRED="no">
			<DESCRIPTION>Prefix used for all properties set. The default is no prefix</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="typedef">
		<DESCRIPTION>&lt;p&gt;Adds a data type definition to the current project, such that this
new type can be used in the current project. Two attributes are
needed, the name that identifies this data type uniquely, and the full
name of the class (including the packages) that implements this
type.&lt;/p&gt;
&lt;p&gt;You can also define a group of data types at once using the file or
resource attributes.  These attributes point to files in the format of
Java property files.  Each line defines a single data type in the
format:&lt;/p&gt;
&lt;pre&gt;
typename=fully.qualified.java.classname
&lt;/pre&gt;
&lt;p&gt;Typedef should be used to add your own types to the system. Data
types are things like &lt;a href=&quot;../using.html#path&quot;&gt;paths&lt;/a&gt; or &lt;a
href=&quot;../CoreTypes/fileset.html&quot;&gt;filesets&lt;/a&gt; that can be defined at
the project level and referenced via their ID attribute.&lt;/p&gt;
&lt;p&gt;Custom data types usually need custom tasks to put them to good use.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="name" REQUIRED="yes, unless file or resource have
     been specified.">
			<DESCRIPTION>the name of the data typ</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classname" REQUIRED="yes, unless file or resource have
     been specified.">
			<DESCRIPTION>the full class name implementing the data typ</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="file" REQUIRED="no">
			<DESCRIPTION>Name of the property file to loadtypename/classname pairs from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="resource" REQUIRED="no">
			<DESCRIPTION>Name of the property resource to loadtypename/classname pairs from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>the classpath touse when looking up classname</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="loaderref" REQUIRED="no">
			<DESCRIPTION>the name of the loader that isused to load the class, constructed from the specified classpath. Use this toallow multiple tasks/types to be loaded with the same loader, so they can calleach other. ( introduced in ant1.5 </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="unzip">
		<DESCRIPTION>&lt;p&gt;Unzips a zip-, war-, tar- or jarfile.&lt;/p&gt;
&lt;p&gt;For JDK 1.1 &amp;quot;last modified time&amp;quot; field is set to current time instead of being
carried from the archive file.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../CoreTypes/patternset.html&quot;&gt;PatternSet&lt;/a&gt;s are used to select files to extract
&lt;I&gt;from&lt;/I&gt; the archive.  If no patternset is used, all files are extracted.
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s may be used used to select archived files
to perform unarchival upon.
&lt;/p&gt;
&lt;p&gt;File permissions will not be restored on extracted files.&lt;/p&gt;
&lt;p&gt;The untar task recognizes the long pathname entries used by GNU tar.&lt;p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="src" REQUIRED="yes, if filesets are not used.">
			<DESCRIPTION>archive file to expand</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>directory where to store the expanded files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="overwrite" REQUIRED="no">
			<DESCRIPTION>Overwrite files, even if they are newer than thecorresponding entries in the archive (true or false, default istrue)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compression" REQUIRED="no">
			<DESCRIPTION>compression method for untar.  Allowable values are&quot;none&quot;, &quot;gzip&quot; and &quot;bzip2&quot;.  Default is&quot;none&quot;</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="uptodate">
		<DESCRIPTION>&lt;p&gt;Sets a property if a target file or set of target files is more up-to-date
than a source file or set of source files. A single source file is specified
using the &lt;code&gt;srcfile&lt;/code&gt; attribute. A set of source files is specified
using the nested &lt;code&gt;&amp;lt;srcfiles&amp;gt;&lt;/code&gt;
elements. These are &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s,
whereas multiple target files are specified using a nested
&lt;a href=&quot;../CoreTypes/mapper.html&quot;&gt;&lt;code&gt;&amp;lt;mapper&amp;gt;&lt;/code&gt;&lt;/a&gt; element.&lt;/p&gt;
&lt;p&gt;By default, the value of the property is set to &lt;code&gt;true&lt;/code&gt; if
the timestamp of the target file(s) is more recent than the timestamp of
the corresponding source file(s). You can set the value to something other
than the default by specifying the &lt;code&gt;value&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;If a &lt;code&gt;&amp;lt;srcfiles&amp;gt;&lt;/code&gt; element is used, without also specifying
a &lt;code&gt;&amp;lt;mapper&amp;gt;&lt;/code&gt; element, the default behavior is to use a
&lt;a href=&quot;../CoreTypes/mapper.html#merge-mapper&quot;&gt;merge mapper&lt;/a&gt;, with the
&lt;code&gt;to&lt;/code&gt; attribute set to the value of the
&lt;code&gt;targetfile&lt;/code&gt; attribute.&lt;/p&gt;
&lt;p&gt;Normally, this task is used to set properties that are useful to avoid
target execution depending on the relative age of the specified files.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of the property to set</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="value" REQUIRED="no; defaults to true.">
			<DESCRIPTION>The value to set the property to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="srcfile" REQUIRED="yes, unless a nested
       &lt;srcfiles&gt; element is present.">
			<DESCRIPTION>The file to check against the target file(s)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="targetfile" REQUIRED="yes, unless a nested
       &lt;mapper&gt; element is present.">
			<DESCRIPTION>The file for which we want to determine the status</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="waitfor">
		<DESCRIPTION>&lt;p&gt;Blocks execution until a set of specified conditions become true. This is intended
to be used with the &lt;a href=&quot;parallel.html&quot;&gt;parallel&lt;/a&gt; task to
synchronize a set of processes.&lt;/p&gt;
&lt;p&gt;The conditions to wait for are defined in &lt;a href=&quot;waitfor.html#nested&quot;&gt;nested elements&lt;/a&gt;,
if multiple conditions are specified, then the task will wait until all conditions are true..&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If both maxwait and maxwaitunit are not specified, the maxwait is 3 minutes (180000 milliseconds).&lt;/p&gt;
&lt;p&gt;If the &lt;code&gt;timeoutproperty&lt;/code&gt; attribute has been set, a
property of that name will be created if the condition didn't come
true within the specified time.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="maxwait" REQUIRED="no">
			<DESCRIPTION>The maximum amount of time to wait for all the required conditionsto become true before failing the task. Defaults to 180000 maxwaitunits</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxwaitunit" REQUIRED="no">
			<DESCRIPTION>The unit of time that must be used to interpret the value of themaxwait attribute.  Defaults to millisecond.Valid Values aremillisecondsecondminutehourdayweek</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="checkevery" REQUIRED="no">
			<DESCRIPTION>The amount of time to wait between each test of the conditions.Defaults to 500 checkeveryunits</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="checkeveryunit" REQUIRED="no">
			<DESCRIPTION>The unit of time that must be used to interpret the value of thecheckevery attribute.  Defaults to millisecond.Valid Values aremillisecondsecondminutehourdayweek</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeoutproperty" REQUIRED="no">
			<DESCRIPTION>the name of the property to set if maxwait hasbeen exceeded</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="war">
		<DESCRIPTION>&lt;p&gt;An extension of the &lt;a href=&quot;jar.html&quot;&gt;Jar&lt;/a&gt; task with special
treatment for files that should end up in the
&lt;code&gt;WEB-INF/lib&lt;/code&gt;, &lt;code&gt;WEB-INF/classes&lt;/code&gt; or
&lt;code&gt;WEB-INF&lt;/code&gt; directories of the Web Application Archive.&lt;/p&gt;
&lt;p&gt;(The War task is a shortcut for specifying the particular layout of a WAR file. 
The same thing can be accomplished by using the &lt;i&gt;prefix&lt;/i&gt; and &lt;i&gt;fullpath&lt;/i&gt;
attributes of zipfilesets in a Zip or Jar task.)&lt;/p&gt;
&lt;p&gt;The extended zipfileset element from the zip task (with attributes &lt;i&gt;prefix&lt;/i&gt;, &lt;i&gt;fullpath&lt;/i&gt;, and &lt;i&gt;src&lt;/i&gt;) is available in the War task.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>the WAR file to create</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="warfile" REQUIRED="no">
			<DESCRIPTION>Deprecated name of the file to create-use destfile instead</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="webxml" REQUIRED="yes, unless update is set to true">
			<DESCRIPTION>The deployment descriptor to use (WEB-INF/web.xml)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="basedir" REQUIRED="no">
			<DESCRIPTION>the directory from which to jar the files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compress" REQUIRED="no">
			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>The character encoding to use for filenamesinside the archive.  Defaults to UTF8. It is notrecommended to change this value as the created archive will mostlikely be unreadable for Java otherwise</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="manifest" REQUIRED="no">
			<DESCRIPTION>the manifest file to use</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="update" REQUIRED="no">
			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;.  The default value is &quot;add&quot;. </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="xmlproperty">
		<DESCRIPTION>&lt;p&gt;
Loads property values from a valid xml file.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="yes">
			<DESCRIPTION>The XML file to parse</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="prefix" REQUIRED="no">
			<DESCRIPTION>The prefix to prepend to each propert</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keeproot" REQUIRED="no, default is true.">
			<DESCRIPTION>If false, it doesn't include the xml root tag as a firstvalue in the property name</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="validate" REQUIRED="no, default is false.">
			<DESCRIPTION>If true, it enables validation</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="collapseattributes" REQUIRED="no, default is false.">
			<DESCRIPTION>If true, it treats attributes as nested elements</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="xslt">
		<DESCRIPTION>&lt;p&gt;Process a set of documents via XSLT.&lt;/p&gt;
&lt;p&gt;This is useful for building views of XML based documentation,
or for generating code.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being processed. This can be
done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and supports all
attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt; (&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;)
as well as the nested &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt;
and &lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;This task supports the use of a nested &amp;lt;param&amp;gt; element which is used to pass values
to an &amp;lt;xsl:param&amp;gt; declaration.&lt;/p&gt;
&lt;p&gt;This task supports the use of a nested &lt;a href=&quot;../CoreTypes/xmlcatalog.html&quot;&gt;xmlcatalog&lt;/a&gt;
element which is used to perform Entity and URI resolution&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;lt;style&amp;gt; and &amp;lt;xslt&amp;gt; refer to the same Ant task and can be used interchangeably.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;If you want to use Xalan-J 1 or XSL:P, you also need Ant's optional.jar&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="basedir" REQUIRED="no">
			<DESCRIPTION>where to find the source XML file, default is theproject's basedir</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="yes, unless in and out have been
       specified.">
			<DESCRIPTION>directory in which to store the results</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="extension" REQUIRED="no">
			<DESCRIPTION>desired file extension to be used for the targets. If notspecified, the default is &quot;.html&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="style" REQUIRED="yes">
			<DESCRIPTION>name of the stylesheet to use - given either relativeto the project's basedir or as an absolute pathDEPRECATED - can be specified as a path relativeto the basedir attribute of this task as well.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>the classpath to use when looking up the XSLTprocessor</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>the classpath to use, given as reference to a path defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="force" REQUIRED="no; default is false">
			<DESCRIPTION>Recreate target files, even if they are newerthan their corresponding source files or the stylesheet</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="processor" REQUIRED="no">
			<DESCRIPTION>name of the XSLT processor to use.  Permissible values are&quot;trax&quot; for a TraX compliant processor (ie JAXP interfaceimplementation such as Xalan 2 or Saxon),&quot;xslp&quot; for the XSL:P processor, &quot;xalan&quot; forthe Apache XML Xalan (version 1) processor the name of anarbitrary XSLTLiaison class. Defaults to trax, followed by xalanand then xslp (in that order). The first one found in your classpath is the one that is used.DEPRECATED - XSL:P and xalan are deprecated and nomore supported..</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must be included.All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file is taken to bean include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must be excluded.No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file is taken to bean exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="in" REQUIRED="no">
			<DESCRIPTION>specifies a single XML document to be styled. Should be usedwith the out attribute</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="out" REQUIRED="no">
			<DESCRIPTION>specifies the output name for the styled result from thein attribute</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="scanincludeddirectories" REQUIRED="no">
			<DESCRIPTION>If any directories are matched by theincludes/excludes patterns, try to transform all files in thesedirectories.  Default is tru</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="zip">
		<DESCRIPTION>&lt;p&gt;Creates a zipfile.&lt;/p&gt;
&lt;p&gt;The &lt;i&gt;basedir&lt;/i&gt; attribute is the reference directory from where to zip.&lt;/p&gt;
&lt;p&gt;Note that file permissions will not be stored in the resulting zipfile.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being zipped. This can be
done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns. &lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;Or, you may place within it nested file sets, or references to file sets.
In this case &lt;code&gt;basedir&lt;/code&gt; is optional; the implicit file set is &lt;i&gt;only used&lt;/i&gt;
if &lt;code&gt;basedir&lt;/code&gt; is set. You may use any mixture of the implicit file set
(with &lt;code&gt;basedir&lt;/code&gt; set, and optional attributes like &lt;code&gt;includes&lt;/code&gt;
and optional subelements like &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;); explicit nested
&lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt; elements so long as at least one fileset total is specified. The ZIP file will
only reflect the relative paths of files &lt;i&gt;within&lt;/i&gt; each fileset. The Zip task and its derivatives know a special form of a fileset named zipfileset that has additional attributes (described below). &lt;/p&gt;
&lt;p&gt;The Zip task also supports the merging of multiple zip files into the zip file. 
This is possible through either the &lt;i&gt;src&lt;/i&gt; attribute of any nested filesets 
or by using the special nested fileset &lt;i&gt;zipgroupfileset&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;update&lt;/code&gt; parameter controls what happens if the
ZIP file already exists. When set to &lt;code&gt;yes&lt;/code&gt;, the ZIP file is
updated with the files specified. (New files are added; old files are
replaced with the new versions.) When set to &lt;code&gt;no&lt;/code&gt; (the
default) the ZIP file is overwritten.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;whenempty&lt;/code&gt; parameter controls what happens when no files match.
If &lt;code&gt;skip&lt;/code&gt; (the default), the ZIP is not created and a warning is issued.
If &lt;code&gt;fail&lt;/code&gt;, the ZIP is not created and the build is halted with an error.
If &lt;code&gt;create&lt;/code&gt;, an empty ZIP file (explicitly zero entries) is created,
which should be recognized as such by compliant ZIP manipulation tools.&lt;/p&gt;
&lt;p&gt;This task will now use the platform's default character encoding
for filenames - this is consistent with the command line ZIP tools,
but causes problems if you try to open them from within Java and your
filenames contain non US-ASCII characters. Use the encoding attribute
and set it to UTF8 to create zip files that can safely be read by
Java.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
			<DESCRIPTION>the zip-file to create</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="zipfile" REQUIRED="yes">
			<DESCRIPTION>the deprecated old name of destfile</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="basedir" REQUIRED="no">
			<DESCRIPTION>the directory from which to zip the files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compress" REQUIRED="no">
			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>The character encoding to use for filenamesinside the zip file.  For a list of possible values see http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html.Defaults to the platform's default character encoding</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="update" REQUIRED="no">
			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="whenempty" REQUIRED="no">
			<DESCRIPTION>behavior when no files match.  Valid values are &quot;fail&quot;, &quot;skip&quot;, and &quot;create&quot;.  Default is &quot;skip&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;. The default value is &quot;add&quot;. </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="antlr">
		<DESCRIPTION>&lt;p&gt;
Invokes the &lt;a HREF=&quot;http://www.antlr.org/&quot; target=&quot;_top&quot;&gt;ANTLR&lt;/a&gt; Translator generator
on a grammar file.
&lt;/p&gt;
&lt;p&gt;
To use the ANTLR task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name of the
grammar file to process.  Optionally, you can also set the
&lt;i&gt;outputdirectory&lt;/i&gt; to write the generated file to a specific directory.
Otherwise ANTLR writes the generated files to the directory containing
the grammar file.
&lt;/p&gt;
&lt;p&gt;
This task only invokes ANTLR if the grammar file is newer than the generated
files.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;
To successfully run ANTLR, your best option is probably to build the whole
jar with the provided script &lt;b&gt;mkalljar&lt;/b&gt; and drop the resulting jar (about 300KB)
into ${ant.home}/lib. Dropping the default jar (70KB) is probably not enough
for most needs and your only option will be to add ANTLR home directory
to your classpath as described in ANTLR &lt;tt&gt;install.html&lt;/tt&gt; document.
&lt;/i&gt;
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="target" REQUIRED="yes">
			<DESCRIPTION>The grammar file to process</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="outputdirectory" REQUIRED="no">
			<DESCRIPTION>The directory to write the generated files to.  If not set, the filesare written to the directory containing the grammar file.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="glib" REQUIRED="no">
			<DESCRIPTION>An optional super grammar file that the target grammar overrides.  Thisfeature is only needed for advanced vocabularies.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debug" REQUIRED="no">
			<DESCRIPTION>When set to &quot;yes&quot;, this flag adds code to the generated parser that willlaunch the ParseView debugger upon invocation.  The default is &quot;no&quot;.Note: ParseView is a separate component that needs to be installed or yourgrammar will have compilation errors.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="html" REQUIRED="no">
			<DESCRIPTION>Emit an html version of the grammar with hyperlinked actions.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="diagnostic" REQUIRED="no">
			<DESCRIPTION>Generates a text file with debugging infomation based on the target grammar.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="trace" REQUIRED="no">
			<DESCRIPTION>Forces all rules to call traceIn/traceOut if set to &quot;yes&quot;.The default is &quot;no&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="traceparser" REQUIRED="no">
			<DESCRIPTION>Only forces parser rules to call traceIn/traceOut if set to &quot;yes&quot;.The default is &quot;no&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tracelexer" REQUIRED="no">
			<DESCRIPTION>Only forces lexer rules to call traceIn/traceOut if set to &quot;yes&quot;.The default is &quot;no&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tracetreewalker" REQUIRED="no">
			<DESCRIPTION>Only forces tree walker rules to call traceIn/traceOut if set to&quot;yes&quot;.  The default is &quot;no&quot;.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>The directory to invoke the VM in.</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="borlandgenerateclient">
		<DESCRIPTION>&lt;p&gt;The BorlandGenerateClient is a task dedicated to Borland Application Server
v 4.5. It offers to generate the client jar file corresponding to an ejb jar
file.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="ejbjar" REQUIRED="yes">
			<DESCRIPTION>ejb jar fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debug" REQUIRED="no">
			<DESCRIPTION>If true, turn on the debug mode for each borlandtools (java2iiop, iastool ...) default = fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="clientjar" REQUIRED="no">
			<DESCRIPTION>client jar file name. If missing the client jarfile name is build using the ejbjar file name: ejbjar = hellobean-ejb.jar=&gt; hellobean-ejbclient.ja</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mode" REQUIRED="no">
			<DESCRIPTION>choose the command launching mode. Two values:java or fork. default = fork. java is not supported for version=5.Possibility to specify a classpath</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="version" REQUIRED="no, defaults to 4">
			<DESCRIPTION>set the Borland Application Version.4 means B.A.S (Borland Application Server 4.x)5 means B.E.S (Borland Application Server 5.x)</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="cab">
		<DESCRIPTION>&lt;p&gt;The cab task creates Microsoft cab archive files.  It is invoked
similar to the &lt;a href=&quot;../CoreTasks/jar.html&quot;&gt;jar&lt;/a&gt; or &lt;a href=&quot;../CoreTasks/zip.html&quot;&gt;zip&lt;/a&gt; tasks.
This task will work on Windows using the external cabarc tool (provided by Microsoft)
which must be located in your executable path.&lt;/p&gt;
&lt;p&gt;To use this task on other platforms you need to download and compile libcabinet from
&lt;a href=&quot;http://trill.cis.fordham.edu/~barbacha/cabinet_library/&quot;&gt;
http://trill.cis.fordham.edu/~barbacha/cabinet_library/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See the section on &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
tasks&lt;/a&gt;, on how the inclusion/exclusion of files works, and how to
write patterns.&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="cabfile" REQUIRED="yes">
			<DESCRIPTION>the name of the cab file to create</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="basedir" REQUIRED="yes">
			<DESCRIPTION>the directory to start archiving files from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>set to &quot;yes&quot; if you want to see the output fromthe cabarc tool.  defaults to &quot;no&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compress" REQUIRED="no">
			<DESCRIPTION>set to &quot;no&quot; to store files without compressing.defaults to &quot;yes&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="options" REQUIRED="no">
			<DESCRIPTION>use to set additional command-line options forthe cabarc tool.  should not normally be necessary</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files thatmust be included. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files thatmust be excluded. No files (except default excludes) are excludedwhen omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be usedor not (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="depend">
		<DESCRIPTION>&lt;p&gt;
The depend task works by determining which classes are out of date with
respect to their source and then removing the class files of any other
classes which depend on the out-of-date classes.
&lt;/p&gt;
&lt;p&gt; To determine the class dependencies, the depend task analyses the class 
files of all class files passed to it. Depend does not parse your source code in 
any way but relies upon the class references encoded into the class files by the 
compiler. This is generally faster than parsing the Java source.&lt;/p&gt;
&lt;p&gt;
To learn more about how this information is obtained from the class files, 
please refer to &lt;a href=&quot;http://java.sun.com/docs/books/vmspec/&quot;&gt;the Java 
Virtual Machine Specification&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt; Since a class' dependencies only change when the class itself changes, the 
depend task is able to cache dependency information. Only those class files 
which have changed will have their dependency information re-analysed. Note that 
if you change a class' dependencies by changing the source, it will be 
recompiled anyway. You can examine the dependency files created to understand 
the  dependencies of your classes. Please do not rely, however, on the format of 
the information, as it may change in a later release. &lt;/p&gt;
&lt;p&gt; Once depend discovers all of the class dependencies, it &amp;quot;inverts&amp;quot; 
this relation to determine, for each class, which other classes are dependent 
upon it. This &amp;quot;affects&amp;quot; list is used to discover which classes are 
invalidated by the out of date class. The class files of the invalidated 
classes are removed, triggering the compilation of the affected classes. &lt;/p&gt;
&lt;p&gt; The depend task supports an attribute, &amp;quot;closure&amp;quot; which controls 
whether depend will only consider direct class-class relationships or whether it 
will also consider transitive, indirect relationships. For example, say there 
are three classes, A, which depends on B, which in-turn depend on C. Now say 
that class C is out of date. Without closure, only class B would be removed by 
depend. With closure set, class A would also be removed. Normally direct 
relationships are sufficient - it is unusual for a class to depend on another 
without having a direct relationship. With closure set, you will notice that 
depend typically removes far more class files. &lt;/p&gt;
&lt;p&gt;The classpath attribute for &lt;code&gt;&amp;lt;depend&amp;gt;&lt;/code&gt; is optional. If it is present, 
depend will check class dependencies against classes and jars on this classpath.
Any classes which depend on an element from this classpath and which are older 
than that element will be deleted. A typical example where you would use this 
facility would be where you are building a utility jar and want to make sure 
classes which are out of date with respect to this jar are rebuilt. You should
&lt;b&gt;not&lt;/b&gt; include jars in this classpath which you do not expect to change, 
such as the JDK runtime jar or third party jars, since doing so will just slow 
down the dependency check. This means that if you do use a classpath for the 
depend task it may be different from the classpath necessary to actually 
compile your code.&lt;/p&gt;
&lt;h3&gt;Performance&lt;/h3&gt; 
&lt;p&gt; The performance of the depend task is dependent on a 
number of factors such as class relationship complexity and how many class files 
are out of date. The decision about whether it is cheaper to just recompile all 
classes or to use the depend task will depend on the size of your project and 
how interrelated your classes are. &lt;/p&gt;
&lt;h3&gt;Limitations&lt;/h3&gt;
&lt;p&gt; There are some source dependencies which depend will not detect. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the Java compiler optimizes away a class relationship, 
there can be a source dependency without a class dependency. &lt;/li&gt;
&lt;li&gt;Non public classes cause two problems. Firstly depend cannot relate
the class file to a source file. In the future this may be addressed
using the source file attribute in the classfile. Secondly, neither 
depend nor the compiler tasks can detect when a non public class is
missing. Inner classes are handled by the depend task.&lt;/li&gt;
&lt;/ul&gt;
The most obvious example of these limitations is that the task can't tell
which classes to recompile when a constant primitive data type exported 
by other classes is changed. For example, a change in the definition of
something like
&lt;pre&gt;
public final class Constants {
public final static boolean DEBUG=false;
}
&lt;/pre&gt; will not be picked up by other classes.
</DESCRIPTION>
		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
			<DESCRIPTION>This is the directory where the source exists. dependwill examine this to determine which classes are out of date. If you use multiplesource directories you can pass this attribute a path of source directories</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="no">
			<DESCRIPTION>This is the root directory of the class files whichwill be analysed. If this is not present, the srcdir is used</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cache" REQUIRED="no">
			<DESCRIPTION>This is a directory in which depend can store andretrieve dependency information. If this is not present, depend will notuse a cache</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="closure" REQUIRED="no">
			<DESCRIPTION>This attribute controls whether depend only removesclasses which directly depend on out of date classes. If this is set to true,depend will traverse the class dependency graph deleting all affectedclasses. Defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dump" REQUIRED="no">
			<DESCRIPTION>If true the dependency information will be written to the debug level log</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>The classpath containg jars and classes for which &lt;depend&gt; should alsocheck dependencie</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="echoproperties">
		<DESCRIPTION>&lt;p&gt;Displays all the current properties in the project.  The output can be
sent to a file if desired. You can also specify a subset of properties
to save by naming a prefix: only properties starting with this
prefix will be saved. This task can be used as a somewhat contrived
means of returning data from an &lt;tt&gt;&amp;lt;ant&amp;gt;&lt;/tt&gt; invocation,
but is really for debugging buildfiles.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="no">
			<DESCRIPTION>If specified, the value indicates the name of thefile to send the output of the statement to.  The generated output fileis compatible for loading by any Java application as a property file.If not specified, then the output will go to the Ant log</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="prefix" REQUIRED="no">
			<DESCRIPTION>a prefix which is used to filter the propertiesonly those properties starting with this prefix will be echoed.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>By default, the &quot;failonerror&quot; attribute is enabled.If an error occurs while writing the properties to a file, and thisattribute is enabled, then a BuildException will be thrown, causing thebuild to fail.  If disabled, then IO errors will be reported as a logstatement, and the build will continue without failure from this task</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="ftp">
		<DESCRIPTION>&lt;p&gt;The ftp task implements a basic FTP client that can send, receive,
list, delete files, and create directories.  See below for descriptions and examples of how
to perform each task.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;The ftp task makes no attempt to determine what file system syntax is
required by the remote server, and defaults to Unix standards.
&lt;i&gt;remotedir&lt;/i&gt; must be specified in the exact syntax required by the ftp
server. If the usual Unix conventions are not supported by the server,
&lt;i&gt;separator&lt;/i&gt; can be used to set the file separator that should be used
instead.&lt;/p&gt;
&lt;p&gt;See the section on &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
tasks&lt;/a&gt;, on how the inclusion/exclusion of files works, and how to
write patterns.&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Warning: &lt;/b&gt; for the get and delete actions to work properly 
with a Windows 2000 ftp server, it needs to be configured to generate
Unix style listings, and not the default MS-DOS listing. Or someone needs to write
the code to parse MS-DOS listings -any takers?
</DESCRIPTION>
		<ATTRIBUTE NAME="server" REQUIRED="yes">
			<DESCRIPTION>the address of the remote ftp server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="port" REQUIRED="no">
			<DESCRIPTION>the port number of the remote ftp server.Defaults to port 21</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="userid" REQUIRED="yes">
			<DESCRIPTION>the login id to use on the ftp server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="password" REQUIRED="yes">
			<DESCRIPTION>the login password to use on the ftp server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="remotedir" REQUIRED="no">
			<DESCRIPTION>the directory to which to upload files on the ftp server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="action" REQUIRED="no">
			<DESCRIPTION>the ftp action to perform, defaulting to &quot;send&quot;.  Currently supports &quot;put&quot;, &quot;get&quot;,&quot;del&quot;, &quot;list&quot;, &quot;chmod&quot; and &quot;mkdir&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="binary" REQUIRED="no">
			<DESCRIPTION>selects binary-mode (&quot;yes&quot;) or text-mode (&quot;no&quot;) transfers.  Defaults to &quot;yes</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="passive" REQUIRED="no">
			<DESCRIPTION>selects passive-mode (&quot;yes&quot;) transfers.  Defaults to &quot;no</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>displays information on each file transferred if set to &quot;yes&quot;. Defaults to &quot;no&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="depends" REQUIRED="no">
			<DESCRIPTION>transfers only new or changed files if set to &quot;yes&quot;. Defaults to &quot;no&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="newer" REQUIRED="no">
			<DESCRIPTION>a synonym for depends</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="separator" REQUIRED="no">
			<DESCRIPTION>sets the file separator used on the ftp server.Defaults to &quot;/&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="umask" REQUIRED="no">
			<DESCRIPTION>sets the default file permissions for new files,unix only</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="chmod" REQUIRED="no">
			<DESCRIPTION>sets or changes file permissions for new or existing files,unix only. If used with a put action, chmod will be issued for each file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="listing" REQUIRED="no">
			<DESCRIPTION>the file to write results of the &quot;list&quot; action.Required for the &quot;list&quot; action, ignored otherwise</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ignorenoncriticalerrors" REQUIRED="no">
			<DESCRIPTION>flag which permits the task to ignore some non-fatal errorcodes sent by some servers during directory creation: wu-ftp in particular.Default: fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="skipfailedtransfers" REQUIRED="no">
			<DESCRIPTION>flag which enables unsuccessful file put, deleteand get operations to be skipped with a warning and theremainder of the files still transferred. Default: fals</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="icontract">
		<DESCRIPTION>&lt;P&gt;
Instruments Java classes with &lt;a href=&quot;http://www.reliable-systems.com/tools/&quot;&gt;iContract&lt;/a&gt;
DBC preprocessor.&lt;br&gt;
The task can generate a properties file for &lt;a href=&quot;http://home.sol.no/~hellesoy/icplus.html&quot;&gt;iControl&lt;/a&gt;,
a graphical user interface that lets you turn on/off assertions. iControl generates a control file that you can refer to
from this task using the controlfile attribute.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
			<DESCRIPTION>Location of the java files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="instrumentdir" REQUIRED="yes">
			<DESCRIPTION>Indicates where the instrumented source files should go</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="repositorydir" REQUIRED="yes">
			<DESCRIPTION>Indicates where the repository source files should go</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="builddir" REQUIRED="no">
			<DESCRIPTION>Indicates where the compiled instrumented classes should go.Defaults to the value of instrumentdir.NOTE: Don't use the same directory for compiled instrumented classesand uninstrumented classes. It will break the dependency checking. (Classes willnot be reinstrumented if you change them)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="repositorybuilddir" REQUIRED="no">
			<DESCRIPTION>Indicates where the compiled repository classes should go.Defaults to the value of repositorydir</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="pre" REQUIRED="no">
			<DESCRIPTION>Indicates whether or not to instrument for preconditions.Defaults to true unless controlfile is specified, in which case itdefaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="post" REQUIRED="no">
			<DESCRIPTION>Indicates whether or not to instrument for postconditions.Defaults to true unless controlfile is specified, in which case itdefaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="invariant" REQUIRED="no">
			<DESCRIPTION>Indicates whether or not to instrument for invariants.Defaults to true unless controlfile is specified, in which case itdefaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failthrowable" REQUIRED="no">
			<DESCRIPTION>The full name of the Throwable (Exception) that should bethrown when an assertion is violated. Defaults to java.lang.Erro</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbosity" REQUIRED="no">
			<DESCRIPTION>Indicates the verbosity level of iContract. Any combinationof error*,warning*,note*,info*,progress*,debug* (comma separated) can beused. Defaults to error</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="quiet" REQUIRED="no">
			<DESCRIPTION>Indicates if iContract should be quiet. Turn it off if many your classes extend uninstrumented classesand you don't want warnings about this. Defaults to fals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="updateicontrol" REQUIRED="no">
			<DESCRIPTION>If set to true, it indicates that the properties file foriControl in the current directory should be updated (or created if it doesn't exist).Defaults to false</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="controlfile" REQUIRED="only if updateicontrol=true">
			<DESCRIPTION>The name of the control file to pass to iContract. Consider using iControl to generate the file.Default is not to pass a file.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classdir" REQUIRED="only if updateicontrol=true">
			<DESCRIPTION>Indicates where compiled (unistrumented) classes are located.This is required in order to properly update the icontrol.properties file, notfor instrumentation</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="targets" REQUIRED="no">
			<DESCRIPTION>Name of the file that will be generated by this task, which lists all theclasses that iContract will instrument. If specified, the file will not be deleted after execution.If not specified, a file will still be created, but it will be deleted after execution</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jarlib-available">
		<DESCRIPTION>&lt;p&gt;Check whether an extension is present in a fileset or an extensionSet.
If the extension is present then a property is set.&lt;/p&gt;
&lt;p&gt;Note that this task
works with extensions as defined by the &quot;Optional Package&quot; specification.
For more information about optional packages, see the document
&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
Java2 Standard Edition package, in file
&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of property to set if extensions is available</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="file" REQUIRED="no, one of file, nested
     extensionset or nested fileset must be present.">
			<DESCRIPTION>The file to check for extensio</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jarlib-display">
		<DESCRIPTION>&lt;p&gt;Display the &quot;Optional Package&quot; and &quot;Package Specification&quot; information
contained within the specified jars.&lt;/p&gt;
&lt;p&gt;Note that this task
works with extensions as defined by the &quot;Optional Package&quot; specification.
For more information about optional packages, see the document
&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
Java2 Standard Edition package, in file
&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="no, but one of file or fileset must be
     present.">
			<DESCRIPTION>The file to display extension information about</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jarlib-manifest">
		<DESCRIPTION>&lt;p&gt;Task to generate a manifest that declares all the dependencies
in manifest. The dependencies are determined by looking in the
specified path and searching for Extension / &quot;Optional Package&quot;
specifications in the manifests of the jars.&lt;/p&gt;
&lt;p&gt;Note that this task
works with extensions as defined by the &quot;Optional Package&quot; specification.
For more information about optional packages, see the document
&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
Java2 Standard Edition package, in file
&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destfile" REQUIRED="yes.">
			<DESCRIPTION>The file to generate Manifest int</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jarlib-resolve">
		<DESCRIPTION>&lt;p&gt;Try to locate a jar to satisfy an extension and place
location of jar into property. The task allows you to
add a number of resolvers that are capable of locating a
library for a specifc extension. Each resolver will be attempted
in specified order until library is found or no resolvers are left.
If no resolvers are left and failOnError is true then a BuildException
will be thrown.&lt;/p&gt;
&lt;p&gt;Note that this task
works with extensions as defined by the &quot;Optional Package&quot; specification.
For more information about optional packages, see the document
&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
Java2 Standard Edition package, in file
&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="property" REQUIRED="yes">
			<DESCRIPTION>The name of property to set to library location</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no, defaults to true.">
			<DESCRIPTION>True if failure to locate library should result in build exception</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="checkextension" REQUIRED="no, defaults to true.">
			<DESCRIPTION>True if librarys returned by nested resolvers should be checked to see ifthey supply extension</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="javacc">
		<DESCRIPTION>&lt;p&gt;
Invokes the &lt;a HREF=&quot;http://www.webgain.com/products/java_cc/&quot; target=&quot;_top&quot;&gt;JavaCC&lt;/a&gt; compiler 
compiler on a grammar file.
&lt;/p&gt;
&lt;p&gt;
To use the javacc task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name of the 
grammar file to process.  You also need to specify the directory containing 
the JavaCC installation using the &lt;i&gt;javacchome&lt;/i&gt; attribute, so that ant 
can find the JavaCC classes.  Optionally, you can also set the 
&lt;i&gt;outputdirectory&lt;/i&gt; to write the generated file to a specific directory.
Otherwise javacc writes the generated files to the directory containing
the grammar file.
&lt;/p&gt;
&lt;p&gt;
This task only invokes JavaCC if the grammar file is newer than the generated 
Java files.  javacc assumes that the Java class name of the generated parser
is the same as the name of the grammar file, ignoring the .jj.
If this is not the case, the javacc task will still work, but it will always 
generate the output files.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="target" REQUIRED="yes">
			<DESCRIPTION>The grammar file to process</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="javacchome" REQUIRED="yes">
			<DESCRIPTION>The directory containing the JavaCC distribution</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="outputdirectory" REQUIRED="no">
			<DESCRIPTION>The directory to write the generated files to.  If not set, the filesare written to the directory containing the grammar file.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="buildparser" REQUIRED="no">
			<DESCRIPTION>Sets the BUILD_PARSER grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="buildtokenmanager" REQUIRED="no">
			<DESCRIPTION>Sets the BUILD_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cachetokens" REQUIRED="no">
			<DESCRIPTION>Sets the CACHE_TOKENS grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="choiceambiguitycheck" REQUIRED="no">
			<DESCRIPTION>Sets the CHOICE_AMBIGUITY_CHECK grammar option.  This is an integer option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="commontokenaction" REQUIRED="no">
			<DESCRIPTION>Sets the COMMON_TOKEN_ACTION grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debuglookahead" REQUIRED="no">
			<DESCRIPTION>Sets the DEBUG_LOOKAHEAD grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debugparser" REQUIRED="no">
			<DESCRIPTION>Sets the DEBUG_PARSER grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debugtokenmanager" REQUIRED="no">
			<DESCRIPTION>Sets the DEBUG_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="errorreporting" REQUIRED="no">
			<DESCRIPTION>Sets the ERROR_REPORTING grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="forcelacheck" REQUIRED="no">
			<DESCRIPTION>Sets the FORCE_LA_CHECK grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ignorecase" REQUIRED="no">
			<DESCRIPTION>Sets the IGNORE_CASE grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="javaunicodeescape" REQUIRED="no">
			<DESCRIPTION>Sets the JAVA_UNICODE_ESCAPE grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="lookahead" REQUIRED="no">
			<DESCRIPTION>Sets the LOOKAHEAD grammar option.  This is an integer option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="optimizetokenmanager" REQUIRED="no">
			<DESCRIPTION>Sets the OPTIMIZE_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="otherambiguitycheck" REQUIRED="no">
			<DESCRIPTION>Sets the OTHER_AMBIGUITY_CHECK grammar option.  This is an integer option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sanitycheck" REQUIRED="no">
			<DESCRIPTION>Sets the SANITY_CHECK grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="static" REQUIRED="no">
			<DESCRIPTION>Sets the STATIC grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="unicodeinput" REQUIRED="no">
			<DESCRIPTION>Sets the UNICODE_INPUT grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="usercharstream" REQUIRED="no">
			<DESCRIPTION>Sets the USER_CHAR_STREAM grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="usertokenmanager" REQUIRED="no">
			<DESCRIPTION>Sets the USER_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="javah">
		<DESCRIPTION>&lt;p&gt;Generates JNI headers from a Java class.&lt;/p&gt;
&lt;p&gt; When this task executes, it will generate the C header and source files that
are needed to implement native methods. JNI operates differently depending on
whether &lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/tooldocs/win32/javah.html&quot;&gt;JDK1.2&lt;/a&gt;
(or later) or &lt;a href=&quot;http://java.sun.com/products/jdk/1.1/docs/tooldocs/win32/javah.html&quot;&gt;pre-JDK1.2&lt;/a&gt;
systems are used.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="class" REQUIRED="yes">
			<DESCRIPTION>the fully-qualified name of the class (or classes,separated by commas</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="outputfile" REQUIRED="yes">
			<DESCRIPTION>concatenates the resulting header or source files for all the classes listed into this fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="">
			<DESCRIPTION>sets the directory where javah saves the header files or thestub files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="force" REQUIRED="no">
			<DESCRIPTION>specifies that output files should always be written (JDK1.2 only</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="old" REQUIRED="no">
			<DESCRIPTION>specifies that old JDK1.0-style header files should be generated(otherwise output file contain JNI-style native method      function prototypes) (JDK1.2 only</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="stubs" REQUIRED="no">
			<DESCRIPTION>generate C declarations from the Java object file (used with old</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>causes Javah to print a message concerning the status     of the generated file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>the classpath to use</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bootclasspath" REQUIRED="no">
			<DESCRIPTION>location of bootstrap class files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
			<DESCRIPTION>location of installed extensions</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jdepend">
		<DESCRIPTION>&lt;P&gt;Invokes the &lt;a href=&quot;http://www.clarkware.com/software/JDepend.html&quot;&gt;JDepend&lt;/a&gt; parser.&lt;/P&gt;
&lt;P&gt;This parser &amp;quot;traverses a set of Java source file directories and generates design quality metrics for each Java package&amp;quot;.
It allows to &amp;quot;automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to
effectively manage and control package dependencies.&amp;quot;&lt;/P&gt;
&lt;p&gt;Source file directories are defined by nested &lt;code&gt;&amp;lt;sourcespath&amp;gt;&lt;/code&gt;, see &lt;a href=&quot;#nested&quot;&gt;nested elements&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Optionally, you can also set the &lt;code&gt;outputfile&lt;/code&gt; name where the output is stored. By default the task writes its report to the standard output.&lt;/P&gt;
&lt;p&gt; The task requires at least the JDepend 1.2 version. &lt;/p&gt;
&lt;P&gt;Note: whereas the JDepend tool can be customized to exclude some packages, the current jdepend And Task does not have parameters to allow these exclusions. Read JDepend specific documentation for that purpose.&lt;/P&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="outputfile" REQUIRED="no">
			<DESCRIPTION>The output file name. If not set, the output is printed on the standard output</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="format" REQUIRED="no">
			<DESCRIPTION>The format to write the output in. The default is &quot;text&quot;, the alternative is &quot;xml</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fork" REQUIRED="no, default is &quot;off&quot;">
			<DESCRIPTION>Run the tests in a separate VM</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="haltonerror" REQUIRED="no, default is &quot;off&quot;">
			<DESCRIPTION>Stop the build process if an error occurs during the jdepend analysis</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeout" REQUIRED="no">
			<DESCRIPTION>Cancel the operation if it doesn't finish in the given time (measured in milliseconds). (Ignored if fork is disabled.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="jvm" REQUIRED="no, default &quot;java&quot;">
			<DESCRIPTION>The command used to invoke the Java Virtual Machine, default is 'java'. The command is resolved by java.lang.Runtime.exec(). (Ignored if fork is disabled.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>The directory to invoke the VM in. (Ignored if fork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>the classpath to use, given as reference to a PATH defined elsewhere</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jjtree">
		<DESCRIPTION>Invokes the &lt;a href=&quot;http://www.webgain.com/products/java_cc/&quot;&gt;JJTree&lt;/a&gt; preprocessor
for the JavaCC compiler compiler. It inserts parse tree building actions
at various places in the JavaCC source that it generates. The output of
JJTree is run through JavaCC to create the parser.
&lt;p&gt;To use the jjtree task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name
of the jjtree grammar file to process. You also need to specify the directory
containing the JavaCC installation using the &lt;i&gt;javacchome&lt;/i&gt; attribute,
so that ant can find the JavaCC classes. Optionally, you can also set the
&lt;i&gt;outputdirectory&lt;/i&gt;
to write the generated file to a specific directory. Otherwise jjtree writes
the generated JavaCC grammar file to the directory containing the JJTree
grammar file.&lt;/p&gt;
&lt;p&gt;This task only invokes JJTree if the grammar file is newer than the
generated JavaCC file.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="target" REQUIRED="yes">
			<DESCRIPTION>The jjtree grammar file to process</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="javacchome" REQUIRED="yes">
			<DESCRIPTION>The directory containing the JavaCC distribution</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="outputdirectory" REQUIRED="no">
			<DESCRIPTION>The directory to write the generated file to. If not set,the files are written to the directory containing the grammar file.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="buildnodefiles" REQUIRED="no">
			<DESCRIPTION>Sets the BUILD_NODE_FILES grammar option. This is a booleanoption</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="multi" REQUIRED="no">
			<DESCRIPTION>Sets the MULTI grammar option. This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodedefaultvoid" REQUIRED="no">
			<DESCRIPTION>Sets the NODE_DEFAULT_VOID grammar option. This is a booleanoption</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodefactory" REQUIRED="no">
			<DESCRIPTION>Sets the NODE_FACTORY grammar option. This is boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodescopehook" REQUIRED="no">
			<DESCRIPTION>Sets the NODE_SCOPE_HOOK grammar option. This is a booleanoption</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodeusesparser" REQUIRED="no">
			<DESCRIPTION>Sets the NODE_USES_PARSER grammar option. This is a booleanoption</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="static" REQUIRED="no">
			<DESCRIPTION>Sets the STATIC grammar option. This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="visitor" REQUIRED="no">
			<DESCRIPTION>Sets the VISITOR grammar option. This is a boolean option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodepackage" REQUIRED="no">
			<DESCRIPTION>Sets the NODE_PACKAGE grammar option. This is a string option</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="visitorexception" REQUIRED="no">
			<DESCRIPTION>Sets the VISITOR_EXCEPTION grammar option. This is a stringoption</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="nodeprefix" REQUIRED="no">
			<DESCRIPTION>Sets the NODE_PREFIX grammar option. This is a string option</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jlink">
		<DESCRIPTION>&lt;p&gt;Links entries from sub-builds and libraries.&lt;/p&gt;
&lt;p&gt;The jlink task can be used to build jar and zip files, similar to 
the &lt;i&gt;jar&lt;/i&gt; task.
However, jlink provides options for controlling the way entries from 
input files
are added to the output file. Specifically, capabilities for merging 
entries from
multiple zip or jar files is available.&lt;/p&gt;
&lt;p&gt;If a mergefile is specified directly (eg. at the top level of a 
&lt;i&gt;mergefiles&lt;/i&gt;
pathelement) &lt;i&gt;and&lt;/i&gt; the mergefile ends in &amp;quot;.zip&amp;quot; or 
&amp;quot;.jar&amp;quot;,
entries in the mergefile will be merged into the outfile. A file with 
any other extension
will be added to the output file, even if it is specified in the 
mergefiles element.
Directories specified in either the mergefiles or addfiles element 
are added to the
output file as you would expect: all files in subdirectories are 
recursively added to
the output file with appropriate prefixes in the output file 
(without merging).
&lt;/p&gt;
&lt;p&gt;
In the case where duplicate entries and/or files are found among the 
files to be merged or
added, jlink merges or adds the first entry and ignores all subsequent entries.
&lt;/p&gt;
&lt;p&gt;
jlink ignores META-INF directories in mergefiles. Users should supply their
own manifest information for the output file.
&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being jlinked. 
This can be
done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, 
&lt;i&gt;excludesfile&lt;/i&gt;,
and &lt;i&gt;defaultexcludes&lt;/i&gt; attributes on the &lt;i&gt;addfiles&lt;/i&gt; and 
&lt;i&gt;mergefiles&lt;/i&gt;
nested elements. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt;
attribute you specify the files you want to have included by using patterns.
The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
the files you want to have excluded. This is also done with patterns. And
finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns. The patterns are
relative to the &lt;i&gt;base&lt;/i&gt; directory.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="outfile" REQUIRED="yes">
			<DESCRIPTION>the path of the output file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compress" REQUIRED="no">
			<DESCRIPTION>whether or not the output should be compressed. true,yes, or on result in compressed output.If omitted, output will be uncompressed (inflated)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mergefiles" REQUIRED="at least one of 
 mergefiles or addfiles">
			<DESCRIPTION>files to be merged into the output, if possible</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="addfiles" REQUIRED="">
			<DESCRIPTION>files to be added to the output</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="jspc">
		<DESCRIPTION>&lt;p&gt; Ant task to run the JSP compiler and turn JSP pages into Java source.
&lt;p&gt;
It can be used to precompile JSP pages for fast initial invocation
of JSP pages, deployment on a server without the full JDK installed,
or simply to syntax check the pages without deploying them.
In most cases, a javac task is usually the next stage in the build process.
The task does basic dependency checking to prevent unnecessary recompilation -this
checking compares source and destination timestamps, and does not factor
in class or taglib dependencies, or &amp;lt;jsp:include&amp;gt; references.
&lt;p&gt;
By default the task uses the Jasper JSP compiler. This
means the task needs jasper.jar and jasper-runtime.jar, which come with
builds of Tomcat 4/Catalina from the
&lt;a href=&quot;http://jakarta.apache.org/tomcat/&quot;&gt;Jakarta Tomcat project&lt;/a&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="destdir" REQUIRED="yes">
			<DESCRIPTION>Where to place the generated files. They are locatedunder here according to the given package name</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
			<DESCRIPTION>Where to look for source jsp files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>The verbosity integer to pass to the compiler. Default=&quot;0</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="package" REQUIRED="no">
			<DESCRIPTION>Name of the destination package for generated javaclasses</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compiler" REQUIRED="no">
			<DESCRIPTION>class name of a JSP compiler adapte</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ieplugin" REQUIRED="no">
			<DESCRIPTION>Java Plugin classid for Internet Explorer</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mapped" REQUIRED="no">
			<DESCRIPTION>(boolean) Generate separate write() calls for each HTMLline in the JSP</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>The classpath to use to run the jsp compiler.This can also be specifiedby the nested element classpathPath)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>A Reference. Asper classpat</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>flag to control action on compile failures: default=ye</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="uribase" REQUIRED="no">
			<DESCRIPTION>The uri context of relative URIreferences in the JSP pages. If it does notexist then it is derived from the location of the filerelative to the declared or derived value of uriroot.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="uriroot" REQUIRED="no">
			<DESCRIPTION>The root directory that uri files should be resolvedagainst.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compiler" REQUIRED="no">
			<DESCRIPTION>Class name of jsp compiler adapter to use.  Defaults tothe standard adapter for Jasper.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compilerclasspath" REQUIRED="no">
			<DESCRIPTION>The classpath used to find the compiler adapter specifiedby the compiler attribute</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="junit">
		<DESCRIPTION>&lt;p&gt;This task runs tests from the JUnit testing framework. The latest
version of the framework can be found at
&lt;a href=&quot;http://www.junit.org&quot;&gt;http://www.junit.org&lt;/a&gt;.
This task has been tested with JUnit 3.0 up to JUnit 3.8.1; it won't
work with versions prior to JUnit 3.0.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This task depends on external libraries not included
in the Ant distribution.  See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;
Library Dependencies&lt;/a&gt; for more information.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Note&lt;/strong&gt;:
You must have &lt;code&gt;junit.jar&lt;/code&gt; and the class files for the
&lt;code&gt;&amp;lt;junit&amp;gt;&lt;/code&gt; task in the same classpath.
You can do one of:
&lt;ol&gt;
&lt;li&gt;
Put both &lt;code&gt;junit.jar&lt;/code&gt; and the optional tasks jar file in
&lt;code&gt;ANT_HOME/lib&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
Do not put either in &lt;code&gt;ANT_HOME/lib&lt;/code&gt;, and instead
include their locations in your &lt;code&gt;CLASSPATH&lt;/code&gt; environment variable.
&lt;/li&gt;
&lt;li&gt;
Do neither of the above, and instead, specify their locations using
a &lt;code&gt;&amp;lt;classpath&amp;gt;&lt;/code&gt; element in the buildfile.
See &lt;a href=&quot;../../faq.html#delegating-classloader&quot; target=&quot;_top&quot;&gt;the
FAQ&lt;/a&gt; for details.
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;Tests are defined by nested &lt;code&gt;test&lt;/code&gt; or
&lt;code&gt;batchtest&lt;/code&gt; tags (see &lt;a href=&quot;#nested&quot;&gt;nested
elements&lt;/a&gt;).&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="printsummary" REQUIRED="no; default is off.">
			<DESCRIPTION>Print one-line statistics for each testcase. Cantake the values on,off, andwithOutAndErr.withOutAndErr is the sameas on but also includes the output of the testas written to System.out and System.err</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fork" REQUIRED="no; default is off.">
			<DESCRIPTION>Run the tests in a separate VM</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="haltonerror" REQUIRED="no; default is off.">
			<DESCRIPTION>Stop the build process if an error occurs during the testrun</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="errorproperty" REQUIRED="no">
			<DESCRIPTION>The name of a property to set in the event of an error</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="haltonfailure" REQUIRED="no; default is off.">
			<DESCRIPTION>Stop the build process if a test fails (errors areconsidered failures as well)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failureproperty" REQUIRED="no.">
			<DESCRIPTION>The name of a property to set in the event of a failure(errors are considered failures as well)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filtertrace" REQUIRED="no; default is on.">
			<DESCRIPTION>Filter out Junit and Ant stack frames from error and failure stack traces</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeout" REQUIRED="no">
			<DESCRIPTION>Cancel the individual tests if they don't finishin the given time (measured in milliseconds).  Ignored iffork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
			<DESCRIPTION>Maximum amount of memory to allocate to the forked VM.Ignored if fork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="jvm" REQUIRED="no; default is java.">
			<DESCRIPTION>The command used to invoke the Java Virtual Machine,default is 'java'.  The command is resolved byjava.lang.Runtime.exec().Ignored if fork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dir" REQUIRED="no">
			<DESCRIPTION>The directory in which to invoke the VM. Ignored iffork is disabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="newenvironment" REQUIRED="no; default is false.">
			<DESCRIPTION>Do not propagate the old environment when newenvironment variables are specified. Ignored if fork isdisabled</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includeantruntime" REQUIRED="no; default is true.">
			<DESCRIPTION>Implicitly add the Ant classes required to runthe tests and JUnit to the classpath in forked mode</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="showoutput" REQUIRED="no">
			<DESCRIPTION>Send any output generated by tests to Ant'slogging system as well as to the formatters.  By default only theformatters receive the output</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="maudit">
		<DESCRIPTION>&lt;p&gt;
Invokes the Metamata Audit/ Webgain Quality Analyzer on a set of Java files.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;maudit&lt;/i&gt; performs static analysis of the Java source code and byte code files to find and report
errors of style and potential problems related to performance, maintenance and robustness.
.  As a convenience, a stylesheet is given in &lt;tt&gt;etc&lt;/tt&gt; directory, so that an HTML report can be generated from the XML file.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="tofile" REQUIRED="yes">
			<DESCRIPTION>The XML file to which the Audit result should be written to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="metamatahome" REQUIRED="yes">
			<DESCRIPTION>The home directory containing the Metamata distribution</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fix" REQUIRED="no.default to false.">
			<DESCRIPTION>Automatically fix certain errors (those marked as fixable in the manual).</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="list" REQUIRED="no. default to false.">
			<DESCRIPTION>Creates listing file for each audited file. A .maudit file will be generated in thesame location as the source file.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="unused" REQUIRED="no. default to false.">
			<DESCRIPTION>Finds declarations unused in search paths. It will look for unused global declarationsin the source code within a use domain specified by the searchpath element.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
			<DESCRIPTION>Set the maximum memory for the JVM. this is a convenientway to set the -mx or -Xmx argument</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="mimemail">
		<DESCRIPTION>&lt;p&gt;Sends SMTP mail with MIME attachments.
&lt;a href=&quot;http://java.sun.com/products/javamail/index.html&quot;&gt;JavaMail&lt;/a&gt;
and &lt;a href=&quot;http://java.sun.com/products/javabeans/glasgow/jaf.html&quot;&gt;Java
Activation Framework&lt;/a&gt; are required for this task.&lt;/p&gt;
&lt;p&gt;Multiple files can be attached using &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSets.&lt;/a&gt;&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="message" REQUIRED="no, but only one of of 'message' or
       'messagefile' may be specified. if not specified, a fileset must be
       provided.">
			<DESCRIPTION>The message bod</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="messagefile" REQUIRED="">
			<DESCRIPTION>A filename to read and used as the message bod</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="messagemimetype" REQUIRED="no, defaults to &quot;text/plain&quot;">
			<DESCRIPTION>MIME type to use for 'message' or 'messageFile' whenattached</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tolist" REQUIRED="yes, at least one of 'tolist', 'cclist',
       or 'bcclist' must be specified.">
			<DESCRIPTION>Comma-separated list of To: recipient</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cclist" REQUIRED="">
			<DESCRIPTION>Comma-separated list of CC: recipient</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bcclist" REQUIRED="">
			<DESCRIPTION>Comma-separated list of BCC: recipient</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="mailhost" REQUIRED="no, default to &quot;localhost&quot;">
			<DESCRIPTION>Host name of the mail server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="subject" REQUIRED="no">
			<DESCRIPTION>Email subject line</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="from" REQUIRED="yes">
			<DESCRIPTION>Email address of sender</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no, default to &quot;true&quot;">
			<DESCRIPTION>Stop the build process if an error occurs sending thee-mail</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="mmetrics">
		<DESCRIPTION>&lt;p&gt;
Invokes the Metamata Metrics / WebGain Quality Analyzer source code 
analyzer on a set of Java files.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;mmetrics&lt;/i&gt; will compute the metrics of a set of Java files and write the results to an XML
file. As a convenience, a stylesheet is given in &lt;tt&gt;etc&lt;/tt&gt; directory, so that an HTML report can be generated from the XML file.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="metamatahome" REQUIRED="yes">
			<DESCRIPTION>The home directory containing the Metamata distribution</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="tofile" REQUIRED="yes">
			<DESCRIPTION>The XML were the resulting metrics will be written to</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="granularity" REQUIRED="yes">
			<DESCRIPTION>Metrics granularity of the source files. Must be eitherfiles (compilation-units), types (types and compilation-units) or methods(methods, types and compilation-units).</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
			<DESCRIPTION>Set the maximum memory for the JVM. this is a convenientway to set the -mx or -Xmx argument</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="mparse">
		<DESCRIPTION>&lt;p&gt;
Invokes the Metamata &lt;a HREF=&quot;http://www.metamata.com/parse.html&quot;&gt;MParse&lt;/a&gt; compiler 
compiler on a grammar file.
&lt;/p&gt;
&lt;p&gt;
To use the &lt;i&gt;mparse&lt;/i&gt; task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name of the 
grammar file to process.  You also need to specify the directory containing 
the Metamata installation using the &lt;i&gt;metamatahome&lt;/i&gt; attribute, so that Ant 
can find the MParse classes.
&lt;/p&gt;
&lt;p&gt;
This task only invokes MParse if the grammar file is newer than the generated 
Java files. MParse assumes that the Java class name of the generated parser
is the same as the name of the grammar file, less the .jj extension.
&lt;/p&gt;
&lt;p&gt;For additional information about MParse, please consult the online manual available &lt;a href=&quot;http://download.metamata.com/parse.pdf&quot;&gt;here&lt;/a&gt;
(PDF)
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="target" REQUIRED="yes">
			<DESCRIPTION>The .jj grammar file to process. It will only be processedif the grammar is newer than the corresponding .java file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="metamatahome" REQUIRED="yes">
			<DESCRIPTION>The home directory containing the Metamata distribution</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>Enable all messages</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debugparser" REQUIRED="no">
			<DESCRIPTION>Enables parser debugging</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="debugscanner" REQUIRED="no">
			<DESCRIPTION>Enables scanner debugging</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cleanup" REQUIRED="no. default to false">
			<DESCRIPTION>Remove the intermediate SunJavaCC file created during the transformation of the grammar file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
			<DESCRIPTION>Set the maximum memory for the JVM. this is a convenientway to set the -mx or -Xmx argument</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="native2ascii">
		<DESCRIPTION>&lt;p&gt;
Converts files from native encodings to ASCII with escaped Unicode.
A common usage is to convert source files maintained in a native
operating system encoding, to ASCII prior to compilation.
&lt;/p&gt;
&lt;p&gt;
Files in the directory &lt;em&gt;src&lt;/em&gt;
are converted from a native encoding to ASCII.
By default, all files in the directory are converted.
However, conversion may be limited to selected files using
&lt;em&gt;includes&lt;/em&gt; and &lt;em&gt;excludes&lt;/em&gt; attributes.
For more information on file matching patterns,
see the section on
&lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;.
If no &lt;em&gt;encoding&lt;/em&gt; is specified,
the default encoding for the JVM is used.
If &lt;em&gt;ext&lt;/em&gt; is specified, then output files are renamed
to use it as a new extension.
More sophisticated file name translations can be achieved using a nested
&lt;em&gt;&amp;lt;mapper&amp;gt;&lt;/em&gt; element. By default an
&lt;a href=&quot;../CoreTypes/mapper.html#identity-mapper&quot;&gt;identity mapper&lt;/a&gt; will be used.
If &lt;em&gt;dest&lt;/em&gt; and &lt;em&gt;src&lt;/em&gt; point to the same directory,
the &lt;em&gt;ext&lt;/em&gt; attribute or a nested &lt;em&gt;&amp;lt;mapper&amp;gt;&lt;/em&gt;
is required.
&lt;/p&gt;
&lt;p&gt;
This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;File Set&lt;/a&gt;,
and supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;src&lt;/code&gt;) as well as
nested &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt;,
and &lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="reverse" REQUIRED="no">
			<DESCRIPTION>Reverse the sense of the conversion,i.e. convert from ASCII to nativ</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="encoding" REQUIRED="no">
			<DESCRIPTION>The native encoding the files are in(default is the default encoding for the JVM</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="src" REQUIRED="no">
			<DESCRIPTION>The directory to find files in (default is basedir</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>The directory to output file t</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ext" REQUIRED="no">
			<DESCRIPTION>File extension to use in renaming output file</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;).Default excludes are used when omitted.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must be excluded.No files (except default excludes) are excluded when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="netrexxc">
		<DESCRIPTION>&lt;p&gt;Compiles a &lt;a href=&quot;http://www2.hursley.ibm.com/netrexx&quot; target=&quot;_top&quot;&gt;NetRexx&lt;/a&gt;
source tree within the running (Ant) VM.&lt;/p&gt;
&lt;p&gt;The source and destination directory will be recursively scanned for
NetRexx source files to compile.  Only NetRexx files that have no corresponding
class file or where the class file is older than the java file will be compiled.&lt;/p&gt;
&lt;p&gt;Files in the source tree are copied to the destination directory,
allowing support files to be located properly in the classpath. The source
files are copied because the NetRexx compiler cannot produce class files in a
specific directory via parameters&lt;/p&gt;
&lt;p&gt;The directory structure of the source tree should follow the package
hierarchy.&lt;/p&gt;
&lt;p&gt;It is possible to refine the set of files that are being compiled/copied.
This can be done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and
&lt;i&gt;defaultexcludes&lt;/i&gt; attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you
specify the files you want to have included by using patterns. The
&lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify the files you want to have
excluded.  This is also done with patterns.  And finally with the
&lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
want to use default exclusions or not. See the section on &lt;a
href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;srcdir&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
&lt;p&gt;All properties except classpath, srcdir and destDir are also available as properties in the form
&lt;code&gt;ant.netrexxc.&lt;i&gt;attributename&lt;/i&gt;&lt;/code&gt;, eg.&lt;br&gt;
&lt;code&gt;&amp;lt;property name=&quot;ant.netrexxc.verbose&quot; value=&quot;noverbose&quot;/&amp;gt;&lt;/code&gt;&lt;br&gt;
or from the command line as&lt;br&gt;
&lt;code&gt;ant -Dant.netrexxc.verbose=noverbose ...&lt;/code&gt;
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="binary" REQUIRED="no">
			<DESCRIPTION>Whether literals are treated as the java binarytype rather than the NetRexx type</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="no">
			<DESCRIPTION>The classpath to use during compilatio</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="comments" REQUIRED="no">
			<DESCRIPTION>Whether comments are passed through to thegenerated java sourc</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compact" REQUIRED="no">
			<DESCRIPTION>Whether error messages come out in compact orverbose format. Default is the compact format</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="compile" REQUIRED="no">
			<DESCRIPTION>Whether the NetRexx compiler should compile thegenerated java cod</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="console" REQUIRED="no">
			<DESCRIPTION>Whether or not messages should be displayed on the'console</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="crossref" REQUIRED="no">
			<DESCRIPTION>Whether variable cross references are generate</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="decimal" REQUIRED="no">
			<DESCRIPTION>Whether decimal arithmetic should be used for theNetRexx cod</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used whenomitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destdir" REQUIRED="yes">
			<DESCRIPTION>the destination directory into which the NetRexxsource files should be copied and then compile</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="diag" REQUIRED="no">
			<DESCRIPTION>Whether diagnostic information about the compile isgenerate</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded whenomitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="explicit" REQUIRED="no">
			<DESCRIPTION>Whether variables must be declared explicitlybefore us</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="format" REQUIRED="no">
			<DESCRIPTION>Whether the generated java code is formatted nicelyor left to match NetRexx line numbers for call stack debuggin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="java" REQUIRED="no">
			<DESCRIPTION>Whether the generated java code is produce</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="keep" REQUIRED="no">
			<DESCRIPTION>Sets whether the generated java source file should be keptafter compilation. The generated files will have an extension of.java.keep, not .jav</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="logo" REQUIRED="no">
			<DESCRIPTION>Whether the compiler text logo is displayed whencompilin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="replace" REQUIRED="no">
			<DESCRIPTION>Whether the generated .java file should be replacedwhen compilin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="savelog" REQUIRED="no">
			<DESCRIPTION>Whether the compiler messages will be written toNetRexxC.log as well as to the consol</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="sourcedir" REQUIRED="no">
			<DESCRIPTION>Tells the NetRexx compiler to store the class files in thesame directory as the source files. The alternative is the workingdirector</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
			<DESCRIPTION>Set the source dir to find the source NetRexxfile</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strictargs" REQUIRED="no">
			<DESCRIPTION>Tells the NetRexx compiler that method calls alwaysneed parentheses, even if no arguments are needed, e.g.aStringVar.getBytes vs.aStringVar.getBytes(</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strictassign" REQUIRED="no">
			<DESCRIPTION>Tells the NetRexx compile that assignments mustmatch exactly on typ</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strictcase" REQUIRED="no">
			<DESCRIPTION>Specifies whether the NetRexx compiler should becase sensitive or no</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strictimport" REQUIRED="no">
			<DESCRIPTION>Whether classes need to be imported explicitly using animport statement.  By default the NetRexx compiler willimport certain packages automaticall</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strictprops" REQUIRED="no">
			<DESCRIPTION>Whether local properties need to be qualifiedexplicitly using thi</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="strictsignal" REQUIRED="no">
			<DESCRIPTION>Whether the compiler should force catching ofexceptions by explicitly named type</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="symbols" REQUIRED="no">
			<DESCRIPTION>Whether debug symbols should be generated into theclass fil</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="time" REQUIRED="no">
			<DESCRIPTION>Asks the NetRexx compiler to print compilationtimes to the consol</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="trace" REQUIRED="no">
			<DESCRIPTION>Turns on or off tracing and directs the resultanttrace outpu</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="utf8" REQUIRED="no">
			<DESCRIPTION>Tells the NetRexx compiler that the source is in UTF</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="verbose" REQUIRED="no">
			<DESCRIPTION>Whether lots of warnings and error messages shouldbe generate</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="suppressmethodargumentnotused" REQUIRED="no">
			<DESCRIPTION>Tells whether we should filter out the&amp;Method argument not used&amp; messages in strictargs mode</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="suppressprivatepropertynotused" REQUIRED="no">
			<DESCRIPTION>Tells whether we should filter out the&amp;Private Property defined, but not used&amp; messages in strictargs mode</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="suppressvariablenotused" REQUIRED="no">
			<DESCRIPTION>Tells whether we should filter out the&amp;Variable set but not used&amp; messages in strictargs mode.Please be careful with this one, as you can hide errors behind it</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="suppressexceptionnotsignalled" REQUIRED="no">
			<DESCRIPTION>Tells whether we should filter out the&amp;Exception is declared, but not signalled within the method&amp;messages in strictsignal mode</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="suppressdeprecation" REQUIRED="no">
			<DESCRIPTION>Tells wether we should filter out any deprecation-messagesof the compiler out</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="pvcs">
		<DESCRIPTION>The pvcs task is set to point at a PVCS repository and optionally a project
within that repository, and can from that specification get the latest
version of the files contained by the repository.
</DESCRIPTION>
		<ATTRIBUTE NAME="repository" REQUIRED="yes">
			<DESCRIPTION>The location of the repository (see your PVCSmanuals</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="pvcsproject" REQUIRED="no">
			<DESCRIPTION>The project within the PVCS repository to extractfiles from (&quot;/&quot; is root project and that is default if this attribute isn'tspecified</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="label" REQUIRED="no">
			<DESCRIPTION>Only files marked with this label are extracted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="promotiongroup" REQUIRED="no">
			<DESCRIPTION>Only files within this promotion group are extracted. Usingboth the label and the promotiongroup tag will cause the files in thepromotion group and with that label to be extracted.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="force" REQUIRED="no">
			<DESCRIPTION>If set to yes all files that exists and are writable are overwritten. Default no causes the files that are writable to be ignored. This stops the PVCS command get to stop asking questions</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="workspace" REQUIRED="no">
			<DESCRIPTION>By specifying a workspace, the files are extracted to that location. A PVCS workspace is aname for a location of the workfiles and isn't as such the location itself. You define the location for a workspaceusing the PVCS GUI clients. If this isn't specified the default workspace for the current user is used</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="pvcsbin" REQUIRED="no">
			<DESCRIPTION>On some systems the PVCS executables pcliand get are not found in the PATH. In such cases this attributeshould be set to the bin directory of the PVCS installation containingthe executables mentioned before. If this attribute isn't specified thetag expects the executables to be found using the PATH environment variable</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="ignorereturncode" REQUIRED="no">
			<DESCRIPTION>If set to true the return value from executingthe pvcs commands are ignored</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="updateonly" REQUIRED="no">
			<DESCRIPTION>If set to true files are gotten only ifnewer than existing local files</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="filenameformat" REQUIRED="no">
			<DESCRIPTION>The format of your folder names in aformat suitable for java.text.MessageFormat.Defaults to {0}-arc({1}).  Repositories wherethe archive extension is not  -arc should setthis</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="linestart" REQUIRED="no">
			<DESCRIPTION>Used to parse the output of the pclicommand. It defaults to &quot;P:.  The parser alreadyknows about / and \\, this property is useful in cases where therepository is accessed on a Windows platform via a drive lettermapping</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="renameextensions">
		<DESCRIPTION>&lt;p&gt;Renames files in the &lt;code&gt;srcDir&lt;/code&gt; directory ending with the
&lt;code&gt;fromExtension&lt;/code&gt; string so that they end with the
&lt;code&gt;toExtension&lt;/code&gt; string. Files are only replaced if
&lt;code&gt;replace&lt;/code&gt; is true
&lt;/p&gt;
&lt;p&gt;See the section on
&lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
inclusion/exclusion of files works, and how to write patterns.
This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;srcDir&lt;/code&gt;) as well as the nested
&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used whenomitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded whenomitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="fromextention" REQUIRED="yes">
			<DESCRIPTION>The string that files must end in to be rename</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includes" REQUIRED="no">
			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="replace" REQUIRED="no">
			<DESCRIPTION>Whether the file being renamed to should bereplaced if it already exist</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
			<DESCRIPTION>The starting directory for files to search i</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="toextension" REQUIRED="yes">
			<DESCRIPTION>The string that renamed files will end with oncompletio</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="replaceregeexp">
		<DESCRIPTION>&lt;p&gt;ReplaceRegExp is a directory based task for replacing the
occurrence of a given regular expression with a substitution pattern
in a selected file or set of files.&lt;/p&gt;
&lt;p&gt;Similar to &lt;a href=&quot;../CoreTypes/mapper.html#regexp-mapper&quot;&gt;regexp
type mappers&lt;/a&gt; this task needs a supporting regular expression
library and an implementation of
&lt;code&gt;org.apache.tools.ant.util.regexp.Regexp&lt;/code&gt;.  Ant comes with
implementations for
&lt;a href=&quot;http://java.sun.com/j2se/1.4/docs/api/java/util/regex/package-summary.html&quot; target=&quot;_top&quot;&gt;the java.util.regex package of JDK 1.4&lt;/a&gt;,
&lt;a href=&quot;http://jakarta.apache.org/regexp/&quot; target=&quot;_top&quot;&gt;jakarta-regexp&lt;/a&gt;
and &lt;a href=&quot;http://jakarta.apache.org/oro/&quot; target=&quot;_top&quot;&gt;jakarta-ORO&lt;/a&gt;,
but you will still need the library itself.&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;
There are cross-platform issues for matches related to line terminator.
For example if you use $ to anchor your regular expression on the end of a line
the results might be very different depending on both your platform and the regular
expression library you use. It is 'highly recommended' that you test your pattern on
both Unix and Windows platforms before you rely on it.
&lt;ul&gt;
&lt;li&gt;Jakarta Oro defines a line terminator as '\n' and is consistent with Perl.&lt;/li&gt;
&lt;li&gt;Jakarta RegExp uses a system-dependant line terminator.&lt;/li&gt;
&lt;li&gt;JDK 1.4 uses '\n', '\r\n', '\u0085', '\u2028', '\u2029' as a default
but is configured in the wrapper to use only '\n' (UNIX_LINE)&lt;/li&gt;
&lt;/ul&gt;
We &lt;b&gt;strongly&lt;/b&gt; recommend that you use Jakarta Oro.
&lt;/i&gt;
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="yes if no nested &lt;fileset&gt; is used">
			<DESCRIPTION>file for which the regular expression should be replaced</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="match" REQUIRED="yes, if no nested &lt;regexp&gt; is used">
			<DESCRIPTION>The regular expression pattern to match in the file(s</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="replace" REQUIRED="yes, if no nested &lt;substitution&gt; is used">
			<DESCRIPTION>The substitution pattern to place in the file(s) in placeof the regular expression</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="flags" REQUIRED="no">
			<DESCRIPTION>The flags to use when matching the regular expression.  For moreinformation, consult the Perl5 syntag : Global replacement.  Replace all occurences founi : Case Insensitive.  Do not consider case in the matcm : Multiline.  Treat the string as multiple lines of input, using &quot;^&quot; and &quot;$&quot; as the start or end of any line, respectively, rather than start or end of strings : Singleline.  Treat the string as a single line of input, using &quot;.&quot; to match any character, including a newline, which normally, it would not match</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="byline" REQUIRED="no">
			<DESCRIPTION>Process the file(s) one line at a time, executing the replacementon one line at a time (true/false).  This is useful if youwant to only replace the first occurence of a regular expression oneach line, which is not easy to do when processing the file as a whole.Defaults to false</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="rpm">
		<DESCRIPTION>&lt;p&gt;
A basic task for invoking the rpm executable to build a Linux installation
file. The task currently only works on Linux or other Unix platforms
with rpm support.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="specfile" REQUIRED="yes">
			<DESCRIPTION>The name of the spec File to be used</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="topdir" REQUIRED="no">
			<DESCRIPTION>this is the directory which will have the expectedsubdirectories, SPECS, SOURCES, BUILD, SRPMS.  If this isn't specified,the baseDir value is used</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="cleanbuilddir" REQUIRED="no">
			<DESCRIPTION>This will remove the generated files in the BUILDdirectory</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="removespec" REQUIRED="no">
			<DESCRIPTION>this will remove the spec file from SPEC</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="removesource" REQUIRED="no">
			<DESCRIPTION>Flag (optional, default=false) to remove the sources after the build.See the the --rmsource  option of rpmbuild</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="command" REQUIRED="no">
			<DESCRIPTION>very similar idea to the cvs task.  the default is &quot;-bb</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="output/error" REQUIRED="no">
			<DESCRIPTION>where standard output and error g</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="script">
		<DESCRIPTION>&lt;p&gt;Execute a script in a 
&lt;a href=&quot;http://www-124.ibm.com/developerworks/projects/bsf&quot; target=&quot;_top&quot;&gt;BSF&lt;/a&gt; supported language.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;All items (tasks, targets, etc) of the running project are
accessible from the script, using either their &lt;code&gt;name&lt;/code&gt; or
&lt;code&gt;id&lt;/code&gt; attributes (as long as their names are considered
valid Java identifiers, that is). 
The name &quot;project&quot; is a pre-defined reference to the Project, which can be
used instead of the project name.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;BeanShell users:&lt;/b&gt; This task now natively supports the BeanShell
scripting language, using language=&quot;beanshell&quot;. The BeanShell engine is
still required.
&lt;/p&gt;
&lt;p&gt;Scripts can do almost anything a task written in Java could do.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="language" REQUIRED="yes">
			<DESCRIPTION>The programming language the script is written in.Must be a supported BSF languag</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="src" REQUIRED="no">
			<DESCRIPTION>The location of the script as a file, if not inlin</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="serverdeploy">
		<DESCRIPTION>&lt;p&gt;The &lt;code&gt;serverdeploy&lt;/code&gt; task is used to run a &quot;hot&quot; deployment tool for
vendor-specific J2EE server. The task requires nested elements which define
the attributes of the vendor-specific deployment tool being executed.
Vendor-specific deployment tools elements may enforce rules for which
attributes are required, depending on the tool.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="action" REQUIRED="yes">
			<DESCRIPTION>This is the action to be performed.  For most cases thiswill be &quot;deploy&quot;.  Some tools support additional actions, such as &quot;delete&quot;, &quot;list&quot;,&quot;undeploy&quot;, &quot;update&quot;..</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="source" REQUIRED="tool dependant">
			<DESCRIPTION>A fully qualified path/filename of the component to be deployed.This may be an .ear, .jar, .war, or any other type that is supported by the server.</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="splash">
		<DESCRIPTION>&lt;p&gt;This task creates a splash screen. The splash screen is displayed
for the duration of the build and includes a handy progress bar as
well. Use in conjunction with the sound task to provide interest
whilst waiting for your builds to complete...&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="imageurl" REQUIRED="no">
			<DESCRIPTION>A URL pointing to an image to display</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="showduration" REQUIRED="no">
			<DESCRIPTION>Initial period to pause the build to show thesplash in milliseconds</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="stylebook">
		<DESCRIPTION>&lt;p&gt;This executes the apache Stylebook documentation generator. 
Unlike the commandline version of this tool, all three arguments
are required to run stylebook.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;
Being extended from &amp;lt;Java&amp;gt;, all the parent's attributes
and options are available. Do not set any apart from the &lt;tt&gt;classpath&lt;/tt&gt;
as they are not guaranteed to be there in future.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="book" REQUIRED="yes">
			<DESCRIPTION>the book xml file that the documentation generation starts from</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="skindirectory" REQUIRED="yes">
			<DESCRIPTION>the directory that contains the stylebook skin</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="targetdirectory" REQUIRED="yes">
			<DESCRIPTION>the destination directory where the documentation is generated </DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="telnet">
		<DESCRIPTION>Task to automate a remote telnet session. The task uses 
nested &lt;tt&gt;&amp;lt;read&amp;gt;&lt;/tt&gt; to indicate strings to wait for, and
&lt;tt&gt;&amp;lt;write&amp;gt;&lt;/tt&gt; tags to specify text to send.  
&lt;p&gt;If you do specify a userid and password, the system will 
assume a common unix prompt to wait on. This behavior can be easily over-ridden.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="userid" REQUIRED="only if password is specified">
			<DESCRIPTION>the login id to use on the telnet server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="password" REQUIRED="only if userid is specified">
			<DESCRIPTION>the login password to use on the telnet server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="server" REQUIRED="yes">
			<DESCRIPTION>the address of the remote telnet server</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="port" REQUIRED="no">
			<DESCRIPTION>the port number of the remote telnet server. Defaults to port 23</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="initialcr" REQUIRED="no">
			<DESCRIPTION>send a cr after connecting (&quot;yes&quot;). Defaults to &quot;no&quot;</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="timeout" REQUIRED="no">
			<DESCRIPTION>set a default timeout to wait for a response. Specified in seconds. Default is no timeout</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="test">
		<DESCRIPTION>&lt;p&gt;This is a primitive task to execute a unit test in the org.apache.testlet framework.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This task depends on external libraries not included
in the Ant distribution.  See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;
Library Dependencies&lt;/a&gt; for more information.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="showsuccess" REQUIRED="no">
			<DESCRIPTION>a boolean value indicating whether tests should display a message on success</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="showbanner" REQUIRED="no">
			<DESCRIPTION>a boolean value indicating whether a banner should be displayed when starting testlet engine</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="forceshowtrace" REQUIRED="no">
			<DESCRIPTION>a boolean indicating that a stack trace is displayed on any failure</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="showtrace" REQUIRED="no">
			<DESCRIPTION>a boolean indicating that a stack trace is displayed on error (but not normal failure)</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="translate">
		<DESCRIPTION>&lt;p&gt;Identifies keys in files delimited by special tokens
and translates them with values read from resource bundles.
&lt;/p&gt;
&lt;p&gt;
A resource bundle contains locale-specific key-value pairs.
A resource bundle is a hierarchical set of property files.
A bundle name makes up its base family name.  Each file that
makes up this bundle has this name plus its locale.  For example,
if the resource bundle name is MyResources, the file that contains
German text will take the name MyResources_de.  In addition to
language, country and variant are also used to form the files in
the bundle.
&lt;/p&gt;
&lt;p&gt;
The resource bundle lookup searches for resource files with various
suffixes on the basis of (1) the desired locale and (2) the default
locale (basebundlename), in the following order from lower-level
(more specific) to parent-level (less specific):
&lt;/p&gt;
&lt;pre&gt;
basebundlename + &amp;quot;_&amp;quot; + language1 + &amp;quot;_&amp;quot; + country1 + &amp;quot;_&amp;quot; + variant1
basebundlename + &amp;quot;_&amp;quot; + language1 + &amp;quot;_&amp;quot; + country1
basebundlename + &amp;quot;_&amp;quot; + language1
basebundlename
basebundlename + &amp;quot;_&amp;quot; + language2 + &amp;quot;_&amp;quot; + country2 + &amp;quot;_&amp;quot; + variant2
basebundlename + &amp;quot;_&amp;quot; + language2 + &amp;quot;_&amp;quot; + country2
basebundlename + &amp;quot;_&amp;quot; + language2
&lt;/pre&gt;
&lt;p&gt;
The file names generated thus are appended with the string &amp;quot;.properties&amp;quot;
to make up the file names that are to be used.
&lt;/p&gt;
&lt;p&gt;
File encoding is supported.  The encoding scheme of the source files,
destination files and the bundle files can be specified.
Destination files can be exlicitly overwritten using the
&lt;var&gt;forceoverwrite&lt;/var&gt; attribute.  If &lt;var&gt;forceoverwrite&lt;/var&gt;
is false, the destination file is overwritten only if either the
source file or any of the files that make up the bundle have been
modified after the destination file was last modified.
&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are used to select files to
translate.
&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="todir" REQUIRED="yes">
			<DESCRIPTION>Destination directory where destination files areto be created</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="starttoken" REQUIRED="yes">
			<DESCRIPTION>The starting token to identify keys</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="endtoken" REQUIRED="yes">
			<DESCRIPTION>The ending token to identify keys</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bundle" REQUIRED="yes">
			<DESCRIPTION>Family name of resource bundle</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bundlelanguage" REQUIRED="no">
			<DESCRIPTION>Locale specific language of resource bundle.  Defaults todefault locale's language.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bundlecountry" REQUIRED="no">
			<DESCRIPTION>Locale specific country of resource bundle.  Defaults todefault locale's country.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bundlevariant" REQUIRED="no">
			<DESCRIPTION>Locale specific variant of resource bundle.  Defaults tothe default variant of the country and language being used.</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="srcencoding" REQUIRED="no">
			<DESCRIPTION>Source file encoding scheme.  Defaults tosystem default file encoding</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="destencoding" REQUIRED="no">
			<DESCRIPTION>Destination file encoding scheme.  Defaults tosource file encoding</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="bundleencoding" REQUIRED="no">
			<DESCRIPTION>Resource Bundle file encoding scheme.  Defaults tosource file encoding</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
			<DESCRIPTION>Overwrite existing files even if the destinationfiles are newer. Defaults to &quot;no&quot;</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="wljspc">
		<DESCRIPTION>&lt;p&gt;Class to precompile JSP's using weblogic's jsp compiler (weblogic.jspc)&lt;/p&gt;
Tested only on Weblogic 4.5.1 - NT4.0 and Solaris 5.7,5.8&lt;br&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="src" REQUIRED="yes">
			<DESCRIPTION>oot of source tree for JSP, ie, the document root for your weblogic serve</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="dest" REQUIRED="yes">
			<DESCRIPTION>root of destination directory, what you have set as WorkingDir in the weblogic propertie</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="package" REQUIRED="yes">
			<DESCRIPTION>start package name under which your JSP's would be compile</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpath" REQUIRED="yes">
			<DESCRIPTION>Class path to use when compiling jsp'</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
	<TASK NAME="xmlvalidate">
		<DESCRIPTION>&lt;p&gt;This task checks xml files are valid (or only well formed). The
task uses the SAX2 parser implementation provided by JAXP by default
(probably the one that is used by Ant itself), but one can specify any
SAX1/2 parser if needed.&lt;/p&gt;
&lt;p&gt;This task supports the use of nested &lt;a
href=&quot;../CoreTypes/xmlcatalog.html&quot;&gt;xmlcatalog&lt;/a&gt; elements and/or nested
&lt;tt&gt;&amp;lt;dtd&amp;gt;&lt;/tt&gt; elements which are used to resolve DTDs and entities.&lt;/p&gt;
</DESCRIPTION>
		<ATTRIBUTE NAME="file" REQUIRED="no">
			<DESCRIPTION>the file(s) you want to check. (optionally can use an embedded fileset</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="lenient" REQUIRED="no">
			<DESCRIPTION>if true, only check the xml document is well formed(ignored if the specified parser is as SAX1 parser)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classname" REQUIRED="no">
			<DESCRIPTION>the parser to use</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
			<DESCRIPTION>where to find the parser class. Optionally can use an embedded classpath element</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
			<DESCRIPTION>fails on a error if set to true (defaults to true)</DESCRIPTION>
		</ATTRIBUTE>

		<ATTRIBUTE NAME="warn" REQUIRED="no">
			<DESCRIPTION>log parser warn events</DESCRIPTION>
		</ATTRIBUTE>
	</TASK>
</TASKS>
