blob: 626f04e67257a460d8631393b9619f563f055439 [file] [log] [blame]
<?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 d