| @@ -107,8 +107,8 @@ target="_top">FAQ</a> for this task at his homepage.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>java2iiopParams</td> | |||
| <td>If filled, the params are added to the <code>java2iiop</code> command | |||
| (ex: <code>-no_warn_missing_define</code>)</td> | |||
| <td>If filled, the params are added to the <kbd>java2iiop</kbd> command | |||
| (ex: <kbd>-no_warn_missing_define</kbd>)</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -281,7 +281,7 @@ omitted an even more complex situation arises:</p> | |||
| the above table recursively.</p> | |||
| <p>If the <var>basedir</var> of the outermost build has been specified as a property on the command | |||
| line (i.e. <code>-Dbasedir=some-value</code> or a <code>-propertyfile</code> argument) the value | |||
| line (i.e. <kbd>-Dbasedir=some-value</kbd> or a <kbd>-propertyfile</kbd> argument) the value | |||
| provided will get an even higher priority. For any <code><ant></code> task that doesn't | |||
| specify a <var>dir</var> attribute, the new project's <var>basedir</var> will be the value specified | |||
| on the command line—no matter how deeply nested into layers of build files the task may | |||
| @@ -38,7 +38,7 @@ the <var>glib</var> attribute) is newer than the generated files.</p> | |||
| distribution. See <a href="../install.html#librarydependencies">Library Dependencies</a> for more | |||
| information.</p> | |||
| <p>Antlr 2.7.2 Note: <em>You will need <samp>antlrall.jar</samp> that can be created by | |||
| the <code>antlr-all.jar</code> target of the Makefile provided with the download.</em></p> | |||
| the <q>antlr-all.jar</q> target of the Makefile provided with the download.</em></p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -46,7 +46,7 @@ as <code>#IMPLIED</code>.</p> | |||
| <p><em>Since Ant 1.7</em> custom structure printers can be used instead of the one that emits a DTD. | |||
| In order to plug in your own structure, you have to implement the | |||
| interface <code>org.apache.tools.ant.taskdefs.AntStructure.StructurePrinter</code> | |||
| interface <code class="code">org.apache.tools.ant.taskdefs.AntStructure.StructurePrinter</code> | |||
| and <code><typedef></code> your class and use the new type as a nested element of this | |||
| task—see the example below. | |||
| @@ -47,7 +47,7 @@ the <var>input</var> and <var>inputstring</var> attributes.</p> | |||
| <h4 id="background">Running Ant as a background process on Unix(-like) systems</h4> | |||
| <p>If you run Ant as a background process (like <code>ant &</code>) and use | |||
| <p>If you run Ant as a background process (like <kbd>ant &</kbd>) and use | |||
| the <code><apply></code> task with <var>spawn</var> set to <q>false</q>, you must provide | |||
| explicit input to the forked process or Ant will be suspended because it tries to read from the | |||
| standard input.</p> | |||
| @@ -214,7 +214,7 @@ standard input.</p> | |||
| <tr> | |||
| <td>vmlauncher</td> | |||
| <td>Run command using the JVM's execution facilities where available. If set to <q>false</q> the | |||
| underlying OS's shell, either directly or through the <code>antRun</code> scripts, will be | |||
| underlying OS's shell, either directly or through the <kbd>antRun</kbd> scripts, will be | |||
| used. Under some operating systems, this gives access to facilities not normally available | |||
| through JVM including, under Windows, being able to execute scripts, rather than their | |||
| associated interpreter. If you want to specify the name of the executable as a relative path | |||
| @@ -360,9 +360,9 @@ of <code>exec</code>.</p> | |||
| </fileset> | |||
| <fileset refid="other.files"/> | |||
| </apply></pre> | |||
| <p>invokes <code>ls -l</code>, adding the absolute filenames of all files below <samp>/tmp</samp> | |||
| not ending in <samp>.txt</samp> and all files of the FileSet | |||
| with <var>id</var> <samp>other.files</samp> to the command line.</p> | |||
| <p>invokes <kbd>ls -l</kbd>, adding the absolute filenames of all files below <samp>/tmp</samp> not | |||
| ending in <samp>.txt</samp> and all files of the FileSet with <var>id</var> <samp>other.files</samp> | |||
| to the command line.</p> | |||
| <pre> | |||
| <apply executable="somecommand" parallel="false"> | |||
| <arg value="arg1"/> | |||
| @@ -384,7 +384,7 @@ with the absolute filenames of all files separated by spaces.</p> | |||
| <fileset dir="src/C" includes="*.c"/> | |||
| <mapper type="glob" from="*.c" to="*.o"/> | |||
| </apply></pre> | |||
| <p>invokes <code>cc -c -o TARGETFILE SOURCEFILE</code> for each <samp>.c</samp> file that is newer | |||
| <p>invokes <kbd>cc -c -o TARGETFILE SOURCEFILE</kbd> for each <samp>.c</samp> file that is newer | |||
| than the corresponding <samp>.o</samp>, replacing <code>TARGETFILE</code> with the absolute filename | |||
| of the <samp>.o</samp> and <code>SOURCEFILE</code> with the absolute name of the <samp>.c</samp> | |||
| file.</p> | |||
| @@ -400,7 +400,7 @@ file.</p> | |||
| <outputmapper refid="out"/> | |||
| </redirector> | |||
| </apply></pre> | |||
| <p>Applies the fictitious <code>processfile</code> executable to all files | |||
| <p>Applies the fictitious <kbd>processfile</kbd> executable to all files | |||
| matching <samp>*.file</samp> in the <samp>src</samp> directory. | |||
| The <samp>out</samp> <code><mapper></code> has been set up to map <samp>*.file</samp> | |||
| to <samp>*.out</samp>, then this <code><mapper></code> is used to | |||
| @@ -416,7 +416,7 @@ dependency checking against output files—the target files in this case.</p | |||
| </path> | |||
| <identitymapper/> | |||
| </apply></pre> | |||
| <p>Applies the <code>ls</code> executable to all directories in the <code>PATH</code>, effectively | |||
| <p>Applies the <kbd>ls</kbd> executable to all directories in the <code>PATH</code>, effectively | |||
| listing all executables that are available on the <code>PATH</code>.</p> | |||
| <pre> | |||
| @@ -431,7 +431,7 @@ listing all executables that are available on the <code>PATH</code>.</p> | |||
| <outputmapper id="out" type="glob" from="*.js" to="dest/*.js"/> | |||
| </redirector> | |||
| </apply></pre> | |||
| <p>Conversion of the command <code>jsmin < src/a.js > dest/a.js</code> but for all files in | |||
| <p>Conversion of the command <kbd>jsmin < src/a.js > dest/a.js</kbd> but for all files in | |||
| the <samp>src</samp> directory. Because the filename itself should not be passed to | |||
| the <code>jsmin</code> program, the <var>addsourcefile</var> is set to <q>false</q>.</p> | |||
| @@ -104,7 +104,7 @@ alternative.</p> | |||
| <!--tr> | |||
| <td>parallel</td> | |||
| <td>process all specified files using a single | |||
| <code>chmod</code> command.</td> | |||
| <kbd>chmod</kbd> command.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -103,11 +103,11 @@ on system parameters.</p> | |||
| </table> | |||
| <h3>Parameters specified as nested elements</h3> | |||
| <h4>classpath</h4> | |||
| <p><code>Available</code>'s <code>classpath</code> attribute is | |||
| <p><code>Available</code>'s <var>classpath</var> attribute is | |||
| a <a href="../using.html#path">path-like structure</a> and can also be set via a nested | |||
| <code><classpath></code> element.</p> | |||
| <h4>filepath</h4> | |||
| <p><code>Available</code>'s <code>filepath</code> attribute is | |||
| <p><code>Available</code>'s <var>filepath</var> attribute is | |||
| a <a href="../using.html#path">path-like structure</a> and can also be set via a | |||
| nested <code><filepath></code> element.</p> | |||
| <h3>Examples</h3> | |||
| @@ -28,7 +28,7 @@ | |||
| <h3>Description</h3> | |||
| <p>The cab task creates Microsoft cabinet archive files. It is invoked similar to | |||
| the <a href="../Tasks/jar.html">jar</a> or <a href="../Tasks/zip.html">zip</a> tasks. This task | |||
| will work on Windows using the external <code>cabarc</code> tool (provided by Microsoft) which must | |||
| will work on Windows using the external <kbd>cabarc</kbd> tool (provided by Microsoft) which must | |||
| be located in your executable path.</p> | |||
| <p>To use this task on other platforms you need to download and compile <code>libcabinet</code> | |||
| from <a href="https://www.freshports.org/archivers/libcabinet/" | |||
| @@ -34,14 +34,14 @@ | |||
| </ul> | |||
| <p>These Apache Ant tasks are wrappers around Continuus Source Manager. They have been tested | |||
| against versions 5.1/6.2 on Windows 2000, but should work on other platforms with <code>ccm</code> | |||
| against versions 5.1/6.2 on Windows 2000, but should work on other platforms with <kbd>ccm</kbd> | |||
| installed.</p> | |||
| <hr/> | |||
| <h2 id="ccmcheckin">CCMCheckin</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to checkin a file</p> | |||
| <p>Check in a file to Continuus</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -66,7 +66,7 @@ installed.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ccmdir</td> | |||
| <td>path to the <code>ccm</code> executable file, required if it is not on | |||
| <td>path to the <kbd>ccm</kbd> executable file, required if it is not on | |||
| the <code>PATH</code></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -84,7 +84,7 @@ as a comment. The task used is the one set as the default.</p> | |||
| <h2 id="ccmcheckout">CCMCheckout</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a checkout command to Continuus</p> | |||
| <p>Run a Continuus checkout command</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -113,7 +113,7 @@ as a comment. The task used is the one set as the default.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ccmdir</td> | |||
| <td>path to the <code>ccm</code> executable file, required if it is not on | |||
| <td>path to the <kbd>ccm</kbd> executable file, required if it is not on | |||
| the <code>PATH</code></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -143,7 +143,7 @@ the default.</p> | |||
| <h2 id="ccmcheckintask">CCMCheckinTask</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a checkin default task command to Continuus</p> | |||
| <p>Run a Continuus command to checkin default task</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -163,7 +163,7 @@ the default.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ccmdir</td> | |||
| <td>path to the <code>ccm</code> executable file, required if it is not on | |||
| <td>path to the <kbd>ccm</kbd> executable file, required if it is not on | |||
| the <code>PATH</code></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -178,7 +178,7 @@ the default.</p> | |||
| <h2 id="ccmreconfigure">CCMReconfigure</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform an reconfigure command to Continuus.</p> | |||
| <p>Run a Continuus reconfigure/update command</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -203,7 +203,7 @@ the default.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ccmdir</td> | |||
| <td>path to the <code>ccm</code> executable file, required if it is not on | |||
| <td>path to the <kbd>ccm</kbd> executable file, required if it is not on | |||
| the <code>PATH</code></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -240,7 +240,7 @@ the default.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ccmdir</td> | |||
| <td>path to the <code>ccm</code> executable file, required if it is not on | |||
| <td>path to the <kbd>ccm</kbd> executable file, required if it is not on | |||
| the <code>PATH</code></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -28,10 +28,10 @@ | |||
| <h3>Description</h3> | |||
| <p>Generates an XML-formatted report file of the change logs recorded in | |||
| a <a href="https://www.nongnu.org/cvs/" target="_top">CVS</a> repository.</p> | |||
| <p><strong>Important</strong>: This task needs <code>cvs</code> on the path. If it isn't, you will | |||
| get an error (such as <code>error=2</code> on Windows). If <code><cvs></code> doesn't work, | |||
| try to execute <code>cvs.exe</code> from the command line in the target directory in which you are | |||
| working. Also note that this task assumes that the cvs executable is compatible with the Unix | |||
| <p><strong>Important</strong>: This task needs <kbd>cvs</kbd> on the path. If it isn't, you will get | |||
| an error (such as <code>error=2</code> on Windows). If <code><cvs></code> doesn't work, try to | |||
| execute <kbd>cvs.exe</kbd> from the command line in the target directory in which you are working. | |||
| Also note that this task assumes that the <kbd>cvs</kbd> executable is compatible with the Unix | |||
| version, this is not completely true for certain other CVS clients—like CVSNT for | |||
| example—and some operation may fail when using such an incompatible client.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -87,7 +87,7 @@ example—and some operation may fail when using such an incompatible client | |||
| </tr> | |||
| <tr> | |||
| <td>dir</td> | |||
| <td>The directory from which to run the CVS <em>log</em> command.</td> | |||
| <td>The directory from which to run the <kbd>cvs log</kbd> command.</td> | |||
| <td>No; defaults to <q>${basedir}</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -119,7 +119,7 @@ example—and some operation may fail when using such an incompatible client | |||
| </tr> | |||
| <tr> | |||
| <td>remote</td> | |||
| <td>If set to true, works against the repository (using <code>rlog</code>) without a working | |||
| <td>If set to true, works against the repository (using <kbd>cvs rlog</kbd>) without a working | |||
| copy. <em>Since Ant 1.8.0</em></td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| @@ -33,7 +33,7 @@ broken recently. If you are going to use the task to create checksums used in a | |||
| security is important, please take some time to investigate the algorithms offered by your JCE | |||
| provider. Note also that some JCE providers like the one by <a href="https://www.bouncycastle.org/" | |||
| target="_top">The Legion of the Bouncy Castle</a>, | |||
| the <a href="https://www.gnu.org/software/gnu-crypto/" target="_top">GNU project</a> | |||
| the <a href="https://www.gnu.org/software/gnu-crypto/" target="_top">GNU Crypto project</a> | |||
| or <a href="https://jce.iaik.tugraz.at/sic/Products" target="_top">the Technical University Graz</a> | |||
| offer more digest algorithms than those built-in into your JDK.</p> | |||
| @@ -30,7 +30,7 @@ | |||
| <p>Changes the group of a file or all files inside specified directories. Right now it has effect | |||
| only under Unix. The group attribute is equivalent to the corresponding argument for | |||
| the <code>chgrp</code> command.</p> | |||
| the <kbd>chgrp</kbd> command.</p> | |||
| <p><a href="../Types/fileset.html">FileSet</a>s, <a href="../Types/dirset.html">DirSet</a>s | |||
| or <a href="../Types/filelist.html">FileList</a>s can be specified using | |||
| @@ -41,7 +41,7 @@ elements.</p> | |||
| arbitrary <a href="../Types/resources.html#collection">resource collections</a> as nested | |||
| elements.</p> | |||
| <p>By default this task will use a single invocation of the underlying <code>chgrp</code> command. | |||
| <p>By default this task will use a single invocation of the underlying <kbd>chgrp</kbd> command. | |||
| If you are working on a large number of files this may result in a command line that is too long for | |||
| your operating system. If you encounter such problems, you should set the <var>maxparallel</var> | |||
| attribute of this task to a non-zero value. The number to use highly depends on the length of your | |||
| @@ -51,7 +51,7 @@ may give you an approximation for the number you could use as initial value for | |||
| experiments.</p> | |||
| <p>By default this task won't do anything unless it detects it is running on a Unix system. If you | |||
| know for sure that you have a <code>chgrp</code> executable on your <code>PATH</code> that is | |||
| know for sure that you have a <kbd>chgrp</kbd> executable on your <code>PATH</code> that is | |||
| command line compatible with the Unix command, you can use the task's <var>os</var> attribute and | |||
| set its value to your current OS.</p> | |||
| @@ -74,7 +74,7 @@ set its value to your current OS.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>parallel</td> | |||
| <td>process all specified files using a single <code>chgrp</code> command.</td> | |||
| <td>process all specified files using a single <kbd>chgrp</kbd> command.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -28,7 +28,7 @@ | |||
| <h3>Description</h3> | |||
| <p>Changes the permissions of a file or all files inside specified directories. Right now it has | |||
| effect only under Unix or NonStop Kernel (Tandem). The permissions are also UNIX style, like the | |||
| argument for the <code>chmod</code> command.</p> | |||
| argument for the <kbd>chmod</kbd> command.</p> | |||
| <p>See the section on <a href="../dirtasks.html#directorybasedtasks">directory based tasks</a>, on | |||
| how the inclusion/exclusion of files works, and how to write patterns.</p> | |||
| @@ -44,7 +44,7 @@ nested <a href="../Types/filelist.html">filelist</a>s.</p> | |||
| arbitrary <a href="../Types/resources.html#collection">resource collections</a> as nested | |||
| elements.</p> | |||
| <p>By default this task will use a single invocation of the underlying <code>chmod</code> command. | |||
| <p>By default this task will use a single invocation of the underlying <kbd>chmod</kbd> command. | |||
| If you are working on a large number of files this may result in a command line that is too long for | |||
| your operating system. If you encounter such problems, you should set the <var>maxparallel</var> | |||
| attribute of this task to a non-zero value. The number to use highly depends on the length of your | |||
| @@ -54,7 +54,7 @@ may give you an approximation for the number you could use as initial value for | |||
| experiments.</p> | |||
| <p>By default this task won't do anything unless it detects it is running on a Unix system. If you | |||
| know for sure that you have a <code>chmod</code> executable on your <code>PATH</code> that is | |||
| know for sure that you have a <kbd>chmod</kbd> executable on your <code>PATH</code> that is | |||
| command line compatible with the Unix command, you can use the task's <var>os</var> attribute and | |||
| set its value to your current OS.</p> | |||
| @@ -103,7 +103,7 @@ alternative.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>parallel</td> | |||
| <td>process all specified files using a single <code>chmod</code> command.</td> | |||
| <td>process all specified files using a single <kbd>chmod</kbd> command.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -30,7 +30,7 @@ | |||
| <p>Changes the owner of a file or all files inside specified directories. Right now it has effect | |||
| only under Unix. The owner attribute is equivalent to the corresponding argument for | |||
| the <code>chown</code> command.</p> | |||
| the <kbd>chown</kbd> command.</p> | |||
| <p><a href="../Types/fileset.html">FileSet</a>s, <a href="../Types/dirset.html">DirSet</a>s | |||
| or <a href="../Types/filelist.html">FileList</a>s can be specified using | |||
| @@ -41,7 +41,7 @@ elements.</p> | |||
| arbitrary <a href="../Types/resources.html#collection">resource collections</a> as nested | |||
| elements.</p> | |||
| <p>By default this task will use a single invocation of the underlying <code>chown</code> command. | |||
| <p>By default this task will use a single invocation of the underlying <kbd>chown</kbd> command. | |||
| If you are working on a large number of files this may result in a command line that is too long for | |||
| your operating system. If you encounter such problems, you should set the <var>maxparallel</var> | |||
| attribute of this task to a non-zero value. The number to use highly depends on the length of your | |||
| @@ -51,9 +51,9 @@ may give you an approximation for the number you could use as initial value for | |||
| experiments.</p> | |||
| <p>By default this task won't do anything unless it detects it is running on a Unix system. If you | |||
| know for sure that you have a <code>chown</code> executable on your <code>PATH</code> that is | |||
| command line compatible with the Unix command, you can use the task's os attribute and set its value | |||
| to your current os.</p> | |||
| know for sure that you have a <kbd>chown</kbd> executable on your <code>PATH</code> that is command | |||
| line compatible with the Unix command, you can use the task's <var>os</var> attribute and set its | |||
| value to your current OS.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -75,7 +75,7 @@ to your current os.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>parallel</td> | |||
| <td>process all specified files using a single <code>chown</code> command.</td> | |||
| <td>process all specified files using a single <kbd>chown</kbd> command.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -55,19 +55,20 @@ Sean Egan (sean at cm-logic dot com)</p> | |||
| <hr/> | |||
| <h2 id="introduction">Introduction</h2> | |||
| <p>Apache Ant provides several optional tasks for working with ClearCase. These tasks correspond to | |||
| various ClearCase commands using the <code>cleartool</code> program. The current tasks available for | |||
| various ClearCase commands using the <kbd>cleartool</kbd> program. The current tasks available for | |||
| Ant correspond to only a few of the significant ClearCase commands.</p> | |||
| <p>More tasks can be easily added by deriving from the ClearCase class and then adding functionality | |||
| that is specific to that ClearCase command.</p> | |||
| <p>Important: these tasks all require <code>cleartool</code> on the command line. If a task fails | |||
| with an IOException, especially <code>error=2</code> on Windows, this is your problem.</p> | |||
| <p>Important: these tasks all require <kbd>cleartool</kbd> on the command line. If a task fails | |||
| with an <code>IOException</code>, especially <code>error=2</code> on Windows, this is your | |||
| problem.</p> | |||
| <hr/> | |||
| <h2 id="cccheckin">CCCheckin</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool checkin</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool checkin</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -132,7 +133,7 @@ original.</p> | |||
| <h2 id="cccheckout">CCCheckout</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool checkout</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool checkout</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -214,7 +215,7 @@ suppressed. A "<samp>Some comment text</samp>" is added to ClearCase a | |||
| <h2 id="ccuncheckout">CCUnCheckout</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>uncheckout</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool uncheckout</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -249,7 +250,7 @@ of the file called <samp>c:/views/viewdir/afile.keep</samp> is kept.</p> | |||
| <h2 id="ccupdate">CCUpdate</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform an <code>cleartool update</code> command to ClearCase.</p> | |||
| <p>Task to perform an <kbd>cleartool update</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -319,7 +320,7 @@ set to the current time.</p> | |||
| <h2 id="ccmklbtype">CCMklbtype</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>mklbtype</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool mklbtype</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -394,7 +395,7 @@ version 1</q> is added as a comment.</p> | |||
| <h2 id="ccmklabel">CCMklabel</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>mklabel</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool mklabel</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -466,7 +467,7 @@ added as a comment. It will <em>recurse</em> all subdirectories.</p> | |||
| <h2 id="ccrmtype">CCRmtype</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>rmtype</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool rmtype</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -557,7 +558,7 @@ comment. All instances of the type are removed, including the type object itself | |||
| <h2 id="cclock">CCLock</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool lock</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool lock</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -617,7 +618,7 @@ object <samp>stream:Application_Integration@\MyProject_PVOB</samp>.</p> | |||
| <h2 id="ccunlock">CCUnlock</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool unlock</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool unlock</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -662,7 +663,7 @@ object <samp>stream:Application_Integration@\MyProject_PVOB</samp>.</p> | |||
| <h2 id="ccmkbl">CCMkbl</h2> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool mkbl</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool mkbl</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -727,7 +728,7 @@ named <samp>Application_Baseline_AUTO</samp>.</p> | |||
| <h2 id="ccmkattr">CCMkattr</h2> | |||
| <p><em>Since Ant 1.6.1</em></p> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool mkattr</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool mkattr</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -796,7 +797,7 @@ the attribute <samp>BugFix</samp> with a value of <samp>34445</samp> to it.</p> | |||
| <h2 id="ccmkdir">CCMkdir</h2> | |||
| <p><em>Since Ant 1.6.1</em></p> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool mkdir</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool mkdir</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -844,7 +845,7 @@ automatically check it out.</p> | |||
| <h2 id="ccmkelem">CCMkelem</h2> | |||
| <p><em>Since Ant 1.6.1</em></p> | |||
| <h3>Description</h3> | |||
| <p>Task to perform a <code>cleartool mkelem</code> command to ClearCase.</p> | |||
| <p>Task to perform a <kbd>cleartool mkelem</kbd> command to ClearCase.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -682,7 +682,7 @@ two resources can be checked; in this case all resources must match.</p> | |||
| <p><em>Since Ant 1.7.1</em></p> | |||
| <p>Tests whether a resource contains a given (sub)string.</p> | |||
| <p>The resources to check are specified via references or—in the case of file | |||
| resources—via the resource attribute.</p> | |||
| resources—via the <var>resource</var> attribute.</p> | |||
| <table class="attr"> | |||
| <tr> | |||
| <th>Attribute</th> | |||
| @@ -755,7 +755,8 @@ fails.</p> | |||
| <p>There is also a nested <code><classpath></code> element, which can be used to specify a | |||
| classpath.</p> | |||
| <pre><hasmethod classname="java.util.ArrayList" method="trimToSize"/></pre> | |||
| <p>Looks for the method <code>trimToSize()</code> in the <code>java.util.ArrayList</code> class.</p> | |||
| <p>Looks for the method <code class="code">trimToSize()</code> in | |||
| the <code class="code">java.util.ArrayList</code> class.</p> | |||
| <h4 id="matches">matches</h4> | |||
| <p><em>Since Ant 1.7</em></p> | |||
| @@ -279,8 +279,8 @@ default character encoding is Cp1252, on Unix it is usually UTF-8. For both of t | |||
| are illegal byte sequences (more in UTF-8 than for Cp1252).</p> | |||
| <p>How the Reader class deals with these illegal sequences is up to the implementation of the | |||
| character decoder. The current Sun Java implementation is to map them to legal characters. Previous | |||
| Sun Java (1.3 and lower) threw a MalformedInputException. IBM Java 1.4 also throws this exception. | |||
| It is the mapping of the characters that cause the corruption.</p> | |||
| Sun Java (1.3 and lower) threw a <code>MalformedInputException</code>. IBM Java 1.4 also throws this | |||
| exception. It is the mapping of the characters that cause the corruption.</p> | |||
| <p>On Unix, where the default is normally UTF-8, this is a <em>big</em> problem, as it is easy to | |||
| edit a file to contain non US-ASCII characters from ISO-8859-1, for example the Danish œ | |||
| character. When this is copied (with filtering) by Ant, the character get converted to a question | |||
| @@ -28,11 +28,11 @@ | |||
| <h3>Description</h3> | |||
| <p>Handles packages/modules retrieved from a <a href="https://www.nongnu.org/cvs/" | |||
| target="_top">CVS</a> repository.</p> | |||
| <p><strong>Important:</strong> This task needs <code>cvs</code> binary on the path. If it isn't, you | |||
| <p><strong>Important:</strong> This task needs <kbd>cvs</kbd> binary on the path. If it isn't, you | |||
| will get an error (such as <code>error=2</code> on Windows). If <code><cvs></code> doesn't | |||
| work, try to execute <code>cvs.exe</code> from the command line in the target directory in which you | |||
| are working. Also note that this task assumes that the cvs executable is compatible with the Unix | |||
| version, this is not completely true for certain other CVS clients—like CVSNT for | |||
| work, try to execute <kbd>cvs.exe</kbd> from the command line in the target directory in which you | |||
| are working. Also note that this task assumes that the <kbd>cvs</kbd> executable is compatible with | |||
| the Unix version, this is not completely true for certain other CVS clients—like CVSNT for | |||
| example—and some operation may fail when using such an incompatible client.</p> | |||
| <p><strong>CVSNT Note</strong>: CVSNT prefers users to store the passwords inside the registry. If | |||
| @@ -61,7 +61,7 @@ report 21657</a> for recommended workarounds.</p> | |||
| <tr> | |||
| <td>compressionlevel</td> | |||
| <td>A number between <q>1</q> and <q>9</q> (corresponding to possible values for | |||
| CVS <code>-z#</code> argument). Any other value is treated | |||
| CVS <kbd>-z#</kbd> argument). Any other value is treated | |||
| as <var>compression</var>=<q>false</q></td> | |||
| <td>No; defaults to no compression</td> | |||
| </tr> | |||
| @@ -78,7 +78,7 @@ report 21657</a> for recommended workarounds.</p> | |||
| <tr> | |||
| <td>dest</td> | |||
| <td>the directory where the checked out files should be placed. Note that this is different | |||
| from CVS's <code>-d</code> command line switch as Apache Ant will never shorten pathnames to | |||
| from CVS's <kbd>-d</kbd> command line switch as Apache Ant will never shorten pathnames to | |||
| avoid empty directories.</td> | |||
| <td>No; default is project's <var>basedir</var></td> | |||
| </tr> | |||
| @@ -101,13 +101,13 @@ report 21657</a> for recommended workarounds.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>quiet</td> | |||
| <td>suppress informational messages. This is the same as <code>-q</code> on the command | |||
| <td>suppress informational messages. This is the same as <kbd>-q</kbd> on the command | |||
| line.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>reallyquiet</td> | |||
| <td>suppress all messages. This is the same as <code>-Q</code> on the command line. <em>since | |||
| <td>suppress all messages. This is the same as <kbd>-Q</kbd> on the command line. <em>since | |||
| Ant 1.6</em>.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| @@ -181,9 +181,9 @@ the <var>cvsRoot</var> attribute, and stores the files in <samp>${ws.dir}</samp> | |||
| <pre><cvs command="-q diff -u -N" output="patch.txt"/></pre> | |||
| <p>silently (<code>-q</code>) creates a file called <samp>patch.txt</samp> which contains a unified | |||
| (<code>-u</code>) diff which includes new files added via <code>cvs add</code> (<code>-N</code>) and | |||
| can be used as input to <code>patch</code>. The equivalent, using <code><commandline></code> | |||
| <p>silently (<kbd>-q</kbd>) creates a file called <samp>patch.txt</samp> which contains a unified | |||
| (<kbd>-u</kbd>) diff which includes new files added via <kbd>cvs add</kbd> (<kbd>-N</kbd>) and | |||
| can be used as input to <kbd>patch</kbd>. The equivalent, using <code><commandline></code> | |||
| elements, is:</p> | |||
| <pre> | |||
| <cvs output="patch"> | |||
| @@ -206,9 +206,9 @@ the <var>failonerror</var>, <var>compression</var>, and other "global" | |||
| the <code><cvs></code> element.</p> | |||
| <pre> <cvs command="update -A -d"/></pre> | |||
| <p>Updates from the head of repository ignoring sticky bits (<code>-A</code>) and creating any new | |||
| directories as necessary (<code>-d</code>).</p> | |||
| <p>Note: the text of the command is passed to <code>cvs</code> "as-is" so any cvs options | |||
| <p>Updates from the head of repository ignoring sticky bits (<kbd>-A</kbd>) and creating any new | |||
| directories as necessary (<kbd>-d</kbd>).</p> | |||
| <p>Note: the text of the command is passed to <kbd>cvs</kbd> "as-is" so any cvs options | |||
| should appear before the command, and any command options should appear after the command as in the | |||
| diff example above. See <a href="http://cvsbook.red-bean.com/cvsbook.html" target="_top">the CVS | |||
| book</a> for details, specifically | |||
| @@ -27,7 +27,7 @@ | |||
| <h2 id="cvs">cvspass</h2> | |||
| <h3>Description</h3> | |||
| <p>Adds entries to a <samp>.cvspass</samp> file. Adding entries to this file has the same affect as | |||
| a <code>cvs login</code> command.</p> | |||
| a <kbd>cvs login</kbd> command.</p> | |||
| <p><strong>CVSNT Note</strong>: CVSNT prefers users to store the passwords inside the registry. If | |||
| the task doesn't seem to work for you, the most likely reason is that CVSNT ignores | |||
| @@ -25,10 +25,10 @@ | |||
| <h3>Description</h3> | |||
| <p>Generates an XML-formatted report file of the changes between two tags or dates recorded in | |||
| a <a href="https://www.nongnu.org/cvs/" target="_top">CVS</a> repository.</p> | |||
| <p><strong>Important</strong>: This task needs <code>cvs</code> on the path. If it isn't, you will | |||
| get an error (such as <code>error=2</code> on Windows). If <code><cvs></code> doesn't work, | |||
| try to execute <code>cvs.exe</code> from the command line in the target directory in which you are | |||
| working. Also note that this task assumes that the cvs executable is compatible with the Unix | |||
| <p><strong>Important</strong>: This task needs <kbd>cvs</kbd> on the path. If it isn't, you will get | |||
| an error (such as <code>error=2</code> on Windows). If <code><cvs></code> doesn't work, try to | |||
| execute <kbd>cvs.exe</kbd> from the command line in the target directory in which you are working. | |||
| Also note that this task assumes that the <kbd>cvs</kbd> executable is compatible with the Unix | |||
| version, this is not completely true for certain other CVS clients—like CVSNT for | |||
| example—and some operation may fail when using such an incompatible client.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -46,8 +46,8 @@ example—and some operation may fail when using such an incompatible client | |||
| <tr> | |||
| <td>startDate</td> | |||
| <td class="left">The earliest date from which diffs are to be included in the | |||
| report.<br/>Accepts all formats accepted by the <code>cvs</code> command for <code>-D | |||
| date_spec</code> arguments.</td> | |||
| report.<br/>Accepts all formats accepted by the <kbd>cvs</kbd> command for <kbd>-D | |||
| date_spec</kbd> arguments.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>endTag</td> | |||
| @@ -57,7 +57,7 @@ example—and some operation may fail when using such an incompatible client | |||
| <tr> | |||
| <td>endDate</td> | |||
| <td class="left">The latest date from which diffs are to be included in the report.<br/>Accepts | |||
| all formats accepted by the <code>cvs</code> command for <code>-D date_spec</code> | |||
| all formats accepted by the <kbd>cvs</kbd> command for <kbd>-D date_spec</kbd> | |||
| arguments.</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -82,7 +82,7 @@ example—and some operation may fail when using such an incompatible client | |||
| <tr> | |||
| <td>compression</td> | |||
| <td><q>true</q> (equivalent to <q>3</q>), <q>false</q>, or a number between <q>1</q> | |||
| and <q>9</q> (corresponding to possible values for CVS <code>-z#</code> argument). Any other | |||
| and <q>9</q> (corresponding to possible values for CVS <kbd>-z#</kbd> argument). Any other | |||
| value is treated as <q>false</q></td> | |||
| <td>No; defaults to no compression</td> | |||
| </tr> | |||
| @@ -77,10 +77,10 @@ nested <code><fileset></code>.</p> | |||
| <tr> | |||
| <td>quiet</td> | |||
| <td>If the specified file or directory does not exist, do not display a diagnostic message | |||
| (unless Apache Ant has been invoked with the <code>-verbose</code> or <code>-debug</code> | |||
| (unless Apache Ant has been invoked with the <kbd>-verbose</kbd> or <kbd>-debug</kbd> | |||
| switches) or modify the exit status to reflect an error. When set to <q>true</q>, if a file | |||
| or directory cannot be deleted, no error is reported. This setting emulates | |||
| the <code>-f</code> option to the Unix <em>rm</em> command. Setting this to <q>true</q> | |||
| the <kbd>-f</kbd> option to the Unix <em>rm</em> command. Setting this to <q>true</q> | |||
| implies setting <var>failonerror</var> to <q>false</q>.</td> | |||
| <td>No; default <q>false</q></td> | |||
| </tr> | |||
| @@ -152,7 +152,7 @@ public final class Constants { | |||
| </tr> | |||
| <tr> | |||
| <td>warnOnRmiStubs</td> | |||
| <td>Flag to disable warnings about files that look like <code>rmic</code> generated | |||
| <td>Flag to disable warnings about files that look like <kbd>rmic</kbd> generated | |||
| stub/skeleton classes and have no <samp>.java</samp> source. Useful when doing RMI | |||
| development.</td> | |||
| <td>No; default <q>true</q></td> | |||
| @@ -27,7 +27,7 @@ | |||
| <h2 id="diagnostics">Diagnostics</h2> | |||
| <p><em>Since Ant 1.7.0</em></p> | |||
| <h3>Description</h3> | |||
| <p>Runs Apache Ant's <code>-diagnostics</code> code inside Ant itself. This is good for debugging | |||
| <p>Runs Apache Ant's <kbd>-diagnostics</kbd> code inside Ant itself. This is good for debugging | |||
| Ant's configuration under an IDE.</p> | |||
| <h3>Examples</h3> | |||
| @@ -100,12 +100,12 @@ parsers.<br/>See <a href="https://www.w3.org/TR/xml/#sec-line-ends" target="_top | |||
| 26 November 2008 / End of Line handling</a> for more details.</p> | |||
| <pre><echo message="Deleting drive C:" level="debug"/></pre> | |||
| <p>A message which only appears in <code>-debug</code> mode.</p> | |||
| <p>A message which only appears in <kbd>-debug</kbd> mode.</p> | |||
| <pre><echo level="error"> | |||
| Imminent failure in the antimatter containment facility. | |||
| Please withdraw to safe location at least 50km away. | |||
| </echo></pre> | |||
| <p>A message which appears even in <code>-quiet</code> mode.</p> | |||
| <p>A message which appears even in <kbd>-quiet</kbd> mode.</p> | |||
| <pre><echo file="runner.csh" append="false">#\!/bin/tcsh | |||
| java-1.3.1 -mx1024m ${project.entrypoint} $$* | |||
| @@ -117,10 +117,10 @@ Ant filtering out the single <q>$</q> during variable expansion.</p> | |||
| <table> | |||
| <tr> | |||
| <th>Ant command line</th> | |||
| <th><code>-quiet</code>, <code>-q</code></th> | |||
| <th><kbd>-quiet</kbd>, <kbd>-q</kbd></th> | |||
| <th><em>no switch</em></th> | |||
| <th><code>-verbose</code>, <code>-v</code></th> | |||
| <th><code>-debug</code>, <code>-d</code></th> | |||
| <th><kbd>-verbose</kbd>, <kbd>-v</kbd></th> | |||
| <th><kbd>-debug</kbd>, <kbd>-d</kbd></th> | |||
| </tr> | |||
| <tr> | |||
| <td><pre><echo message="This is error message." level="error"/></pre></td> | |||
| @@ -30,7 +30,7 @@ | |||
| <p>Displays all the current properties (or a subset of them specified by a | |||
| nested <code><propertyset></code>) in the project. The output can be sent to a file if | |||
| desired. This task can be used as a somewhat contrived means of returning data from an | |||
| <code>ant</code> invocation, but is really for debugging build | |||
| <kbd>ant</kbd> invocation, but is really for debugging build | |||
| files.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -62,9 +62,9 @@ files.</p> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>If an error occurs while writing the properties to a file, and this attribute is enabled, | |||
| then a BuildException will be thrown, causing the build to fail. If disabled, then IO errors | |||
| will be reported as a log statement, and the build will continue without failure from this | |||
| task.</td> | |||
| then a <code>BuildException</code> will be thrown, causing the build to fail. If disabled, | |||
| then IO errors will be reported as a log statement, and the build will continue without | |||
| failure from this task.</td> | |||
| <td>No; default is <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -136,7 +136,7 @@ mechanisms.</p> | |||
| <hr/> | |||
| <h2 id="ejbc">ejbc</h2> | |||
| <h3>Description</h3> | |||
| <p>The <code>ejbc</code> task will run WebLogic's <code>ejbc</code> tool. This tool will take a | |||
| <p>The <code>ejbc</code> task will run WebLogic's <kbd>ejbc</kbd> tool. This tool will take a | |||
| serialized deployment descriptor, examine the various EJB interfaces and bean classes and then | |||
| generate the required support classes necessary to deploy the bean in a WebLogic EJB container. This | |||
| will include the RMI stubs and skeletons as well as the classes which implement the bean's home and | |||
| @@ -150,7 +150,7 @@ to be regenerated. The deployment descriptor is de-serialized to discover the ho | |||
| implementation classes. The corresponding source files are determined and checked to see their | |||
| modification times. These times and the modification time of the serialized descriptor itself are | |||
| compared with the modification time of the generated classes. If the generated classes are not | |||
| present or are out of date, the <code>ejbc</code> tool is run to generate new versions.</p> | |||
| present or are out of date, the <kbd>ejbc</kbd> tool is run to generate new versions.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -189,7 +189,7 @@ present or are out of date, the <code>ejbc</code> tool is run to generate new ve | |||
| </tr> | |||
| <tr> | |||
| <td>keepgenerated</td> | |||
| <td>Controls whether <code>ejbc</code> will keep the intermediate java files used to build the | |||
| <td>Controls whether <kbd>ejbc</kbd> will keep the intermediate java files used to build the | |||
| class files. This can be useful when debugging.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| @@ -216,7 +216,7 @@ EJBs, this is a convenient way of specifying many EJBs in a single Ant task.</p> | |||
| destination directory. If these class files cannot be located in the destination directory, the | |||
| task will fail. The task will also attempt to locate the EJB stubs and skeletons in this directory. | |||
| If found, the timestamps on the stubs and skeletons will be checked to ensure they are up to | |||
| date. Only if these files cannot be found or if they are out of date will the iAS <code>ejbc</code> | |||
| date. Only if these files cannot be found or if they are out of date will the iAS <kbd>ejbc</kbd> | |||
| utility be called to generate new stubs and skeletons.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -256,14 +256,14 @@ utility be called to generate new stubs and skeletons.</p> | |||
| <tr> | |||
| <td>keepgenerated</td> | |||
| <td>Indicates whether or not the Java source files which are generated by <code>ejbc</code> will | |||
| <td>Indicates whether or not the Java source files which are generated by <kbd>ejbc</kbd> will | |||
| be saved or automatically deleted. If <q>yes</q>, the source files will be retained.</td> | |||
| <td>No; defaults to <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>debug</td> | |||
| <td>Indicates whether or not the <code>ejbc</code> utility should log additional debugging | |||
| <td>Indicates whether or not the <kbd>ejbc</kbd> utility should log additional debugging | |||
| statements to the standard output. If <q>yes</q>, the additional debugging statements will be | |||
| generated.</td> | |||
| <td>No; defaults to <q>no</q></td> | |||
| @@ -272,9 +272,9 @@ utility be called to generate new stubs and skeletons.</p> | |||
| <tr> | |||
| <td>iashome</td> | |||
| <td>May be used to specify the "home" directory for this iAS installation. This is used to find | |||
| the <code>ejbc</code> utility if it isn't included in the user's system path. If specified, it | |||
| the <kbd>ejbc</kbd> utility if it isn't included in the user's system path. If specified, it | |||
| should refer to the <samp>[install-location]/iplanet/ias6/ias</samp> directory.</td> | |||
| <td>No; by default the <code>ejbc</code> utility must be on the user's system path</td> | |||
| <td>No; by default the <kbd>ejbc</kbd> utility must be on the user's system path</td> | |||
| </tr> | |||
| </table> | |||
| @@ -820,7 +820,7 @@ skeletons.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>keepgeneric</td> | |||
| <td>This controls whether the generic file used as input to <code>ejbc</code> is retained.</td> | |||
| <td>This controls whether the generic file used as input to <kbd>ejbc</kbd> is retained.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -877,9 +877,9 @@ as <samp>META-INF/Customer-weblogic-cmp-rdbms-jar.xml</samp>.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>classpath</td> | |||
| <td>The classpath to be used when running the WebLogic <code>ejbc</code> tool. Note that this | |||
| <td>The classpath to be used when running the WebLogic <kbd>ejbc</kbd> tool. Note that this | |||
| tool typically requires the classes that make up the bean to be available on the classpath. | |||
| Currently, however, this will cause the <code>ejbc</code> tool to be run in a separate | |||
| Currently, however, this will cause the <kbd>ejbc</kbd> tool to be run in a separate | |||
| JVM</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -893,7 +893,7 @@ as <samp>META-INF/Customer-weblogic-cmp-rdbms-jar.xml</samp>.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>keepgeneric</td> | |||
| <td>This controls whether the generic file used as input to <code>ejbc</code> is retained.</td> | |||
| <td>This controls whether the generic file used as input to <kbd>ejbc</kbd> is retained.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -910,7 +910,7 @@ as <samp>META-INF/Customer-weblogic-cmp-rdbms-jar.xml</samp>.</p> | |||
| <td>This flag controls whether <code>weblogic.ejbc</code> is always invoked to build the jar | |||
| file. In certain circumstances, such as when only a bean class has been changed, the jar can | |||
| be generated by merely replacing the changed classes and not | |||
| rerunning <code>ejbc</code>. Setting this to <q>false</q> will reduce the time to | |||
| rerunning <kbd>ejbc</kbd>. Setting this to <q>false</q> will reduce the time to | |||
| run <code>ejbjar</code>.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| @@ -962,13 +962,13 @@ as <samp>META-INF/Customer-weblogic-cmp-rdbms-jar.xml</samp>.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>noEJBC</td> | |||
| <td>If this attribute is set to <q>true</q>, WebLogic's <code>ejbc</code> will not be run on the | |||
| EJB jar. Use this if you prefer to run <code>ejbc</code> at deployment time.</td> | |||
| <td>If this attribute is set to <q>true</q>, WebLogic's <kbd>ejbc</kbd> will not be run on the | |||
| EJB jar. Use this if you prefer to run <kbd>ejbc</kbd> at deployment time.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>ejbcclass</td> | |||
| <td>Specifies the classname of the <code>ejbc</code> compiler. Normally <code>ejbjar</code> | |||
| <td>Specifies the classname of the <kbd>ejbc</kbd> compiler. Normally <code>ejbjar</code> | |||
| determines the appropriate class based on the DTD used for the EJB. The EJB 2.0 compiler | |||
| featured in WebLogic 6 has, however, been deprecated in version 7. When using with version 7 | |||
| this attribute should be set to <q>weblogic.ejbc</q> to avoid the deprecation warning.</td> | |||
| @@ -984,14 +984,14 @@ as <samp>META-INF/Customer-weblogic-cmp-rdbms-jar.xml</samp>.</p> | |||
| <tr> | |||
| <td>jvmdebuglevel</td> | |||
| <td>Sets the <code>weblogic.StdoutSeverityLevel</code> to use when running the JVM that | |||
| executes <code>ejbc</code>. Set to <q>16</q> to avoid the warnings about EJB Home and Remotes | |||
| executes <kbd>ejbc</kbd>. Set to <q>16</q> to avoid the warnings about EJB Home and Remotes | |||
| being in the classpath</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>outputdir</td> | |||
| <td>If set <code>ejbc</code> will be given this directory as the output destination rather than | |||
| a jar file. This allows for the generation of "exploded" jars.</td> | |||
| <td>If set <kbd>ejbc</kbd> will be given this directory as the output destination rather than a | |||
| jar file. This allows for the generation of "exploded" jars.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -1145,15 +1145,15 @@ adds them to the final EJB jar file. WebSphere has two specific descriptors for | |||
| </ul> | |||
| <p>In terms of WebSphere, the generation of container code and stubs is called <em>deployment</em>. | |||
| This step can be performed by the <code>websphere</code> element as part of the jar generation | |||
| process. If the switch <var>ejbdeploy</var> is on, the <code>ejbdeploy</code> tool from the | |||
| process. If the switch <var>ejbdeploy</var> is on, the <kbd>ejbdeploy</kbd> tool from the | |||
| WebSphere toolset is called for every EJB jar. Unfortunately, this step only works, if you use the | |||
| IBM JDK. Otherwise, the <code>rmic</code> (called by <code>ejbdeploy</code>) throws | |||
| IBM JDK. Otherwise, the <kbd>rmic</kbd> (called by <kbd>ejbdeploy</kbd>) throws | |||
| a <code>ClassFormatError</code>. Be sure to switch <var>ejbdeploy</var> off, if Ant runs with Oracle | |||
| JDK or OpenJDK.</p> | |||
| <p>For the <code>websphere</code> element to work, you have to provide a complete classpath, that | |||
| contains all classes, that are required to reflect the bean classes. For <code>ejbdeploy</code> to | |||
| work, you must also provide the classpath of the <code>ejbdeploy</code> tool and set | |||
| contains all classes, that are required to reflect the bean classes. For <kbd>ejbdeploy</kbd> to | |||
| work, you must also provide the classpath of the <kbd>ejbdeploy</kbd> tool and set | |||
| the <code>websphere.home</code> property (look at the examples below).</p> | |||
| <table class="attr"> | |||
| @@ -1171,8 +1171,8 @@ the <code>websphere.home</code> property (look at the examples below).</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ejbdeploy</td> | |||
| <td>Decides whether <code>ejbdeploy</code> is called. When you set this to <q>true</q>, be | |||
| sure, to run Ant with the IBM JDK.</td> | |||
| <td>Decides whether <kbd>ejbdeploy</kbd> is called. When you set this to <q>true</q>, be sure | |||
| to run Ant with the IBM JDK.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -1183,44 +1183,43 @@ the <code>websphere.home</code> property (look at the examples below).</p> | |||
| </tr> | |||
| <tr> | |||
| <td>keepgeneric</td> | |||
| <td>This controls whether the generic file used as input to <code>ejbdeploy</code> is | |||
| <td>This controls whether the generic file used as input to <kbd>ejbdeploy</kbd> is | |||
| retained.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>rebuild</td> | |||
| <td>This controls whether <code>ejbdeploy</code> is called although no changes have | |||
| occurred.</td> | |||
| <td>This controls whether <kbd>ejbdeploy</kbd> is called although no changes have occurred.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>tempdir</td> | |||
| <td>A directory, where <code>ejbdeploy</code> will write temporary files</td> | |||
| <td>A directory, where <kbd>ejbdeploy</kbd> will write temporary files</td> | |||
| <td>No; defaults to <q>_ejbdeploy_temp</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>dbName<br/>dbSchema</td> | |||
| <td>These options are passed to <code>ejbdeploy</code>.</td> | |||
| <td>These options are passed to <kbd>ejbdeploy</kbd>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>dbVendor</td> | |||
| <td>This option is passed to <code>ejbdeploy</code>. Valid options can be obtained by running | |||
| the following command: <pre><WAS_HOME>/bin/EJBDeploy.[sh/bat] -help</pre> This is also | |||
| used to determine the name of the <code>Map.mapxmi</code> and <code>Schema.dbxmi</code> files, | |||
| for example <samp>Account-DB2UDBWIN_V71-Map.mapxmi</samp> | |||
| <td>This option is passed to <kbd>ejbdeploy</kbd>. Valid options can be obtained by running the | |||
| following command: <pre><WAS_HOME>/bin/EJBDeploy.[sh/bat] -help</pre> This is also used | |||
| to determine the name of the <code>Map.mapxmi</code> and <code>Schema.dbxmi</code> files, for | |||
| example <samp>Account-DB2UDBWIN_V71-Map.mapxmi</samp> | |||
| and <samp>Account-DB2UDBWIN_V71-Schema.dbxmi</samp>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>codegen<br/>quiet<br/>novalidate<br/>noinform<br/>trace<br/>use35MappingRules</td> | |||
| <td>These options are all passed to <code>ejbdeploy</code>.</td> | |||
| <td>These options are all passed to <kbd>ejbdeploy</kbd>.</td> | |||
| <td>No; default is <q>false</q> (except for <var>quiet</var>)</td> | |||
| </tr> | |||
| <tr> | |||
| <td>rmicOptions</td> | |||
| <td>This option is passed to <code>ejbdeploy</code> and will be passed on | |||
| to <code>rmic</code>.</td> | |||
| <td>This option is passed to <kbd>ejbdeploy</kbd> and will be passed on | |||
| to <kbd>rmic</kbd>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -1300,14 +1299,14 @@ example, <var>suffix</var>). Refer to the appropriate documentation for more de | |||
| <tr> | |||
| <td>keepgenerated</td> | |||
| <td>Indicates whether or not the Java source files which are generated by <code>ejbc</code> will | |||
| <td>Indicates whether or not the Java source files which are generated by <kbd>ejbc</kbd> will | |||
| be saved or automatically deleted. If <q>yes</q>, the source files will be retained.</td> | |||
| <td>No; defaults to <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>debug</td> | |||
| <td>Indicates whether or not the <code>ejbc</code> utility should log additional debugging | |||
| <td>Indicates whether or not the <kbd>ejbc</kbd> utility should log additional debugging | |||
| statements to the standard output. If <q>yes</q>, the additional debugging statements will be | |||
| generated.</td> | |||
| <td>No; defaults to <q>no</q></td> | |||
| @@ -1316,9 +1315,9 @@ example, <var>suffix</var>). Refer to the appropriate documentation for more de | |||
| <tr> | |||
| <td>iashome</td> | |||
| <td>May be used to specify the "home" directory for this iAS installation. This is used to find | |||
| the <code>ejbc</code> utility if it isn't included in the user's system path. If specified, | |||
| it should refer to the <samp>[install-location]/iplanet/ias6/ias</samp> directory.</td> | |||
| <td>No; by default, the <code>ejbc</code> utility must be on the user's system path.</td> | |||
| the <kbd>ejbc</kbd> utility if it isn't included in the user's system path. If specified, it | |||
| should refer to the <samp>[install-location]/iplanet/ias6/ias</samp> directory.</td> | |||
| <td>No; by default, the <kbd>ejbc</kbd> utility must be on the user's system path.</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -1497,7 +1496,7 @@ example, <var>suffix</var>). Refer to the appropriate documentation for more det | |||
| </tr> | |||
| <tr> | |||
| <td>verbose</td> | |||
| <td>Indicates whether or not to use <code>-verbose</code> switch.</td> | |||
| <td>Indicates whether or not to use <kbd>-verbose</kbd> switch.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -52,7 +52,7 @@ exact semantics of the call. In particular, if you do not put a file extension o | |||
| only <samp>.EXE</samp> files are looked for, not <samp>.COM</samp>, <samp>.CMD</samp> or other file | |||
| types listed in the environment variable <code>PATHEXT</code>. That is only used by the shell.</p> | |||
| <p>Note that <samp>.bat</samp> files cannot in general by executed directly. One normally needs to | |||
| execute the command shell executable <code>cmd</code> using the <code>/c</code> switch.</p> | |||
| execute the command shell executable <kbd>cmd</kbd> using the <kbd>/c</kbd> switch.</p> | |||
| <pre> | |||
| <target name="help"> | |||
| <exec executable="cmd"> | |||
| @@ -62,24 +62,25 @@ execute the command shell executable <code>cmd</code> using the <code>/c</code> | |||
| </exec> | |||
| </target></pre> | |||
| <p>A common problem is not having the executable on the PATH. In case you get an error | |||
| message <code>Cannot run program "...":CreateProcess error=2. The system cannot find the path | |||
| specified.</code> have a look at your <code>PATH</code> variable. Just type the command directly on | |||
| the command line and if Windows finds it, Ant should do it too. (Otherwise ask on the user | |||
| mailinglist for help.) If Windows can not execute the program add the directory of the program to | |||
| the <code>PATH</code> (<code>set PATH=%PATH%;dirOfProgram</code>) or specify the absolute path in | |||
| the <var>executable</var> attribute in your buildfile.</p> | |||
| <p>A common problem is not having the executable on the <code>PATH</code>code>. In case you get an | |||
| error message <code class="output">Cannot run program "...":CreateProcess error=2. The system cannot | |||
| find the path specified.</code> have a look at your <code>PATH</code> variable. Just type the | |||
| command directly on the command line and if Windows finds it, Ant should do it too. (Otherwise ask | |||
| on the user mailinglist for help.) If Windows can not execute the program, add the directory of the | |||
| program to the <code>PATH</code> (<code>set PATH=%PATH%;dirOfProgram</code>) or specify the absolute | |||
| path in the <var>executable</var> attribute in your buildfile.</p> | |||
| <h4>Cygwin Users</h4> | |||
| <p>The <code><exec></code> task will not understand paths such as <code>/bin/sh</code> for the | |||
| executable parameter. This is because JVM in which Ant is running is a standard Windows executable | |||
| and is not aware of the Cygwin environment (i.e., doesn't load <samp>cygwin1.dll</samp>). The only | |||
| work-around for this is to compile a JVM under Cygwin (at your own risk). See for | |||
| <p>The <code><exec></code> task will not understand paths such as <q>/bin/sh</q> for | |||
| the <var>executable</var> parameter. This is because JVM in which Ant is running is a standard | |||
| Windows executable and is not aware of the Cygwin environment (i.e., doesn't | |||
| load <samp>cygwin1.dll</samp>). The only work-around for this is to compile a JVM under Cygwin (at | |||
| your own risk). See for | |||
| instance <a href="https://cdn.rawgit.com/AdoptOpenJDK/openjdk-jdk9/dev/common/doc/building.html#cygwin" | |||
| target="_top">OpenJDK build instructions for cygwin</a>.</p> | |||
| <h4>OpenVMS Users</h4> | |||
| <p>The command specified using <code>executable</code> and <code><arg></code> elements is | |||
| <p>The command specified using <var>executable</var> and <code><arg></code> elements is | |||
| executed exactly as specified inside a temporary DCL script. This has some implications:</p> | |||
| <ul> | |||
| <li>paths have to be written in VMS style</li> | |||
| @@ -93,7 +94,7 @@ to <code>TRUE</code> in the job table (see the <em>JDK Release Notes</em>).</p> | |||
| <p>Please note that JVM provided by HP doesn't follow OpenVMS' conventions of exit codes. If you | |||
| run a JVM with this task, the task may falsely claim that an error occurred (or silently ignore an | |||
| error). Don't use this task to run <code>JAVA.EXE</code>, use a <code><java></code> task with | |||
| error). Don't use this task to run <kbd>JAVA.EXE</kbd>, use a <code><java></code> task with | |||
| the <var>fork</var> attribute set to <q>true</q> instead as this task will follow the JVM's | |||
| interpretation of exit codes.</p> | |||
| @@ -104,13 +105,13 @@ their interpreter specified, i.e., the scripts must start with something like:</ | |||
| <pre>#!/bin/bash</pre> | |||
| <p>or the task will fail as follows:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| [exec] Warning: UNIXProcess.forkAndExec native error: Exec format error | |||
| [exec] Result: 255</pre> | |||
| <h4 id="background">Running Ant as a background process on Unix(-like) systems</h4> | |||
| <p>If you run Ant as a background process (like <code>ant &</code>) and use | |||
| <p>If you run Ant as a background process (like <kbd>ant &</kbd>) and use | |||
| the <code><exec></code> task with <var>spawn</var> set to <q>false</q>, you must provide | |||
| explicit input to the forked process or Ant will be suspended because it tries to read from the | |||
| standard input.</p> | |||
| @@ -240,7 +241,7 @@ standard input.</p> | |||
| <tr> | |||
| <td>vmlauncher</td> | |||
| <td>Run command using the JVM's execution facilities where available. If set to <q>false</q> the | |||
| underlying OS's shell, either directly or through the <code>antRun</code> scripts, will be | |||
| underlying OS's shell, either directly or through the <kbd>antRun</kbd> scripts, will be | |||
| used. Under some operating systems, this gives access to facilities not normally available | |||
| through JVM including, under Windows, being able to execute scripts, rather than their | |||
| associated interpreter. If you want to specify the name of the executable as a relative path | |||
| @@ -369,14 +370,15 @@ process. The browser will remain.</p> | |||
| </exec> | |||
| </pre> | |||
| <p>Sends the string <q>blah before blah</q> to the <code>cat</code> executable, using | |||
| <p>Sends the string <q>blah before blah</q> to the <kbd>cat</kbd> executable, using | |||
| an <a href="../Types/filterchain.html"><inputfilterchain></a> to replace <q>before</q> | |||
| with <q>after</q> on the way in. Output is sent to the file <samp>redirector.out</samp> and stored | |||
| in a property of the same name. Similarly, error output is sent to a file and a property, both | |||
| named <samp>redirector.err</samp>.</p> | |||
| <p><strong>Note</strong>: do not try to specify arguments using a simple arg-element and separate | |||
| them by spaces. This results in only a single argument containing the entire string.</p> | |||
| <p><strong>Note</strong>: do not try to specify arguments using a simple <code>arg</code>-element | |||
| and separate them by spaces. This results in only a single argument containing the entire | |||
| string.</p> | |||
| <p><strong>Timeouts</strong>: If a timeout is specified, when it is reached the sub process is | |||
| killed and a message printed to the log. The return value of the execution will be <q>-1</q>, which | |||
| will halt the build if <var>failonerror</var>=<q>true</q>, but be ignored otherwise.</p> | |||
| @@ -75,7 +75,7 @@ see <a href="conditions.html">here</a>.<br/><em>Since Ant 1.6.2</em> | |||
| <pre><fail/></pre> | |||
| <p>will exit the current build with no further information given.</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| BUILD FAILED | |||
| build.xml:4: No message</pre> | |||
| @@ -83,7 +83,7 @@ build.xml:4: No message</pre> | |||
| <pre><fail message="Something wrong here."/></pre> | |||
| <p>will exit the current build and print something like the following to wherever your output | |||
| goes:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| BUILD FAILED | |||
| build.xml:4: Something wrong here.</pre> | |||
| @@ -94,7 +94,7 @@ build.xml:4: Something wrong here.</pre> | |||
| <pre><fail unless="thisdoesnotexist"/></pre> | |||
| <p>will exit the current build and print something like the following to wherever your output | |||
| goes:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| BUILD FAILED | |||
| build.xml:2: unless=thisdoesnotexist</pre> | |||
| @@ -111,7 +111,7 @@ Using a condition to achieve the same effect: | |||
| </fail></pre> | |||
| <p>Output:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| BUILD FAILED | |||
| build.xml:2: condition satisfied</pre> | |||
| @@ -45,10 +45,10 @@ the <a href="setproxy.html"><code><setproxy></code></a> task, and cannot g | |||
| via socks.</p> | |||
| <p><strong>Warning</strong>: there have been problems reported concerning | |||
| the <code>ftp</code> <q>get</q> with the <var>newer</var> attribute. Problems might be due to | |||
| format of <code>ls -l</code> differing from what is expected by commons-net, for instance due to | |||
| format of <kbd>ls -l</kbd> differing from what is expected by commons-net, for instance due to | |||
| specifics of language used by the FTP server in the directory listing. If you encounter such a | |||
| problem, please send an email including a sample directory listing coming from your FTP server | |||
| (<code>ls -l</code> on the FTP prompt).</p> | |||
| (<kbd>ls -l</kbd> on the FTP prompt).</p> | |||
| <p>If you can connect but not upload or download, try setting the <var>passive</var> attribute | |||
| to <q>true</q> to use the existing (open) channel, instead of having the server try to set up a new | |||
| connection.</p> | |||
| @@ -134,15 +134,15 @@ connection.</p> | |||
| </tr> | |||
| <tr id="timestampGranularity"> | |||
| <td>timestampGranularity</td> | |||
| <td>Specify either <q>MINUTE</q>, <q>NONE</q>, (or you may specify <q></q> which is equivalent | |||
| to not specifying a value, useful for property-file driven scripts). Allows override of the | |||
| typical situation in <q>PUT</q> and <q>GET</q> where local filesystem timestamps | |||
| <td>Specify either <q>MINUTE</q> or <q>NONE</q> (you may specify <q></q> which is equivalent to | |||
| not specifying a value, useful for property-file driven scripts). Allows override of the | |||
| typical situation in <q>put</q> and <q>get</q> where local filesystem timestamps | |||
| are <code>HH:mm:ss</code> and the typical FTP server's timestamps are <code>HH:mm</code>. | |||
| This can throw off <var>uptodate</var> calculations. However, the default values should | |||
| suffice for most applications.<br/><em>Since Ant 1.7</em></td> | |||
| <td>No; only applies in <q>put</q> and <q>get</q> where the default values are <q>MINUTE</q> | |||
| for <code>PUT</code> and <q>NONE</q> for <code>GET</code>. (It is not as necessary | |||
| in <q>get</q> because we have the <var>preservelastmodified</var> option.)</td> | |||
| <td>No; only applies for <q>put</q> (default is <q>MINUTE</q>) and <q>get</q> (default | |||
| is <q>NONE</q>; not as necessary because we have the <var>preservelastmodified</var> | |||
| option)</td> | |||
| </tr> | |||
| <tr> | |||
| <td>timediffmillis</td> | |||
| @@ -167,14 +167,13 @@ connection.</p> | |||
| <tr> | |||
| <td>chmod</td> | |||
| <td>sets or changes file permissions for new or existing files, Unix only. If used with | |||
| a <q>put</q> action, <code>chmod</code> will be issued for each file.</td> | |||
| a <q>put</q> action, <q>chmod</q> will be issued for each file.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>listing</td> | |||
| <td>the file to write results of the <q>list</q> action. Required for the <q>list</q> action, | |||
| ignored otherwise.</td> | |||
| <td>No</td> | |||
| <td>the file to write results of the <q>list</q> action.</td> | |||
| <td>Yes, for the <q>list</q> action; ignored otherwise</td> | |||
| </tr> | |||
| <tr> | |||
| <td>ignoreNoncriticalErrors</td> | |||
| @@ -531,7 +530,7 @@ directory. In fact, the <var>dir</var> attribute of the fileset is ignored comp | |||
| </ftp></pre> | |||
| <p>Logs in to <samp>ftp.apache.org</samp> as <samp>anonymous</samp> and tries to delete | |||
| all <samp>*.tmp</samp> files from the default directory for that user. If you don't have permission | |||
| to delete a file, a BuildException is thrown.</p> | |||
| to delete a file, a <code>BuildException</code> is thrown.</p> | |||
| <h3>Listing Files</h3> | |||
| <pre> | |||
| <ftp action="list" | |||
| @@ -564,8 +563,8 @@ of the FTP server.</p> | |||
| server. The filesets are relative to the remote directory, not a local directory. | |||
| The <var>dir</var> attribute of the fileset is ignored completely. The directories to be removed | |||
| must be empty, or contain only other directories that have been also selected to be removed by the | |||
| filesets patterns, otherwise a BuildException will be thrown. Also, if you don't have permission to | |||
| remove a directory, a BuildException is thrown.</p> | |||
| filesets patterns, otherwise a <code>BuildException</code> will be thrown. Also, if you don't have | |||
| permission to remove a directory, a <code>BuildException</code> is thrown.</p> | |||
| <pre> | |||
| <ftp action="rmdir" | |||
| @@ -39,7 +39,7 @@ authentication is used. This is only secure over an HTTPS link.</p> | |||
| <p><strong>Proxies</strong>. <em>Since Apache Ant 1.7.0</em>, Ant running on Java 5 or later | |||
| can <a href="../proxy.html">use the proxy settings of the operating system</a> if enabled with | |||
| the <code>-autoproxy</code> command line option. There is also | |||
| the <kbd>-autoproxy</kbd> command line option. There is also | |||
| the <a href="../Tasks/setproxy.html"><setproxy></a> task for earlier Java versions. With | |||
| proxies turned on, <code><get></code> requests against localhost may not work as expected, if | |||
| the request is relayed to the proxy.</p> | |||
| @@ -247,7 +247,7 @@ it is not possible to <code>import</code> the same file more than once.</p> | |||
| <p>Running the build file will emit:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| setUp: | |||
| nested.echo: | |||
| @@ -272,7 +272,7 @@ test: | |||
| <p>Running the target build file will emit:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| nested.setUp: | |||
| nested.echo: | |||
| @@ -242,7 +242,7 @@ it is not possible to <code>import</code> the same file more than once.</p> | |||
| <p>Running the build file will emit:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| setUp: | |||
| nested.echo: | |||
| @@ -267,7 +267,7 @@ test: | |||
| <p>Running the target build file will emit:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| nested.setUp: | |||
| nested.echo: | |||
| @@ -29,8 +29,8 @@ | |||
| <p>Try to locate a jar to satisfy an extension and place location of jar into property. The task | |||
| allows you to add a number of resolvers that are capable of locating a library for a specific | |||
| extension. Each resolver will be attempted in specified order until library is found or no resolvers | |||
| are left. If no resolvers are left and <var>failOnError</var> is true then a BuildException will be | |||
| thrown.</p> | |||
| are left. If no resolvers are left and <var>failOnError</var> is true then | |||
| a <code>BuildException</code> will be thrown.</p> | |||
| <p>Note that this task works with extensions as defined by the "Optional Package" specification. | |||
| For more information about optional packages, see the document <em>Optional Package Versioning</em> | |||
| @@ -104,7 +104,7 @@ to project directory.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>destdir</td> | |||
| <td>The directory in which to place downloaded file.</td> | |||
| <td class="left">The directory in which to place downloaded file.</td> | |||
| </tr> | |||
| </table> | |||
| @@ -35,7 +35,7 @@ the <var>input</var> and <var>inputstring</var> attributes.</p> | |||
| <h4 id="background">Running Ant as a background process on Unix(-like) systems</h4> | |||
| <p>If you run Ant as a background process (like <code>ant &</code>) and use | |||
| <p>If you run Ant as a background process (like <kbd>ant &</kbd>) and use | |||
| the <code><java></code> task with <var>spawn</var> set to <q>false</q> and <var>fork</var> | |||
| to <q>true</q>, you must provide explicit input to the forked process or Ant will be suspended | |||
| because it tries to read from the standard input.</p> | |||
| @@ -112,7 +112,7 @@ because it tries to read from the standard input.</p> | |||
| <td>the command used to invoke JVM. The command is resolved | |||
| by <code>java.lang.Runtime.exec()</code>. Ignored if <var>fork</var> is <q>false</q>. | |||
| </td> | |||
| <td>No, default is <q>java</q></td> | |||
| <td>No, default is <kbd>java</kbd></td> | |||
| </tr> | |||
| <tr> | |||
| <td>jvmargs</td> | |||
| @@ -85,7 +85,7 @@ in <code>JAVA_HOME</code>.</p> | |||
| when it puts together the command line switches—even if you set <var>fork</var>=<q>true</q>. | |||
| This is useful if you want to run the compiler of JDK 1.1 while your current JDK is 1.2+. If you | |||
| use <var>compiler</var>=<q>javac1.1</q> and (for example) <var>depend</var>=<q>true</q>, Ant will | |||
| use the command line switch <code>-depend</code> instead of <code>-Xdepend</code>.</p> | |||
| use the command line switch <kbd>-depend</kbd> instead of <kbd>-Xdepend</kbd>.</p> | |||
| <p>This task will drop all entries that point to non-existent files/directories from the classpath | |||
| it passes to the compiler.</p> | |||
| <p>The working directory for a forked executable (if any) is the project's base directory.</p> | |||
| @@ -95,7 +95,7 @@ release them. The side effect of this is that you will not be able to delete or | |||
| later on in the build. The workaround is to fork when invoking the compiler.</p> | |||
| <p>If you are using Java 8 or above and your source contains native methods or fields annotated with | |||
| the <code>@Native</code> annotation you can set the <var>nativeheaderdir</var> attribute in order to | |||
| use the <code>-h</code> switch of <code>javac</code> to generate the native header files. Note that | |||
| use the <kbd>-h</kbd> switch of <kbd>javac</kbd> to generate the native header files. Note that | |||
| the logic Ant uses to determine which files to compile does not take native headers into account, | |||
| i.e. if the <samp>.class</samp> is more recent than the corresponding <samp>.java</samp> file the | |||
| file will not get compiled even if a native header file generated for it would be outdated.</p> | |||
| @@ -157,7 +157,7 @@ file will not get compiled even if a native header file generated for it would b | |||
| <tr> | |||
| <td>bootclasspath</td> | |||
| <td>Location of bootstrap class files. (See <a href="#bootstrap">below</a> for using | |||
| the <code>-X</code> and <code>-J-X</code> parameters for specifying the bootstrap | |||
| the <kbd>-X</kbd> and <kbd>-J-X</kbd> parameters for specifying the bootstrap | |||
| classpath).</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -192,13 +192,13 @@ file will not get compiled even if a native header file generated for it would b | |||
| </tr> | |||
| <tr> | |||
| <td>nowarn</td> | |||
| <td>Indicates whether the <code>-nowarn</code> switch should be passed to the compiler.</td> | |||
| <td>Indicates whether the <kbd>-nowarn</kbd> switch should be passed to the compiler.</td> | |||
| <td>No; defaults to <q>off</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>debug</td> | |||
| <td>Indicates whether source should be compiled with debug information. If set | |||
| to <q>off</q>, <code>-g:none</code> will be passed on the command line for compilers that | |||
| to <q>off</q>, <kbd>-g:none</kbd> will be passed on the command line for compilers that | |||
| support it (for other compilers, no command line argument will be used). If set | |||
| to <q>true</q>, the value of the <var>debuglevel</var> attribute determines the command line | |||
| argument.</td> | |||
| @@ -206,17 +206,17 @@ file will not get compiled even if a native header file generated for it would b | |||
| </tr> | |||
| <tr> | |||
| <td>debuglevel</td> | |||
| <td>Keyword list to be appended to the <code>-g</code> command-line switch. Legal values | |||
| <td>Keyword list to be appended to the <kbd>-g</kbd> command-line switch. Legal values | |||
| are <q>none</q> or a comma-separated list of the following | |||
| keywords: <q>lines</q>, <q>vars</q>, and <q>source</q>.</td> | |||
| <td>No; ignored when <var>debug</var> is <q>false</q> or any implementation other | |||
| than <q>modern</q>, <q>javac1.2</q> and <q>jikes</q>; by default, nothing will be appended | |||
| to <code>-g</code></td> | |||
| to <kbd>-g</kbd></td> | |||
| </tr> | |||
| <tr> | |||
| <td>optimize</td> | |||
| <td>Indicates whether source should be compiled with optimization. <strong>Note</strong> that | |||
| this flag is just ignored by Sun's <code>javac</code> since JDK 1.3 (because compile-time | |||
| this flag is just ignored by Sun's <kbd>javac</kbd> since JDK 1.3 (because compile-time | |||
| optimization is unnecessary).</td> | |||
| <td>No; defaults to <q>off</q></td> | |||
| </tr> | |||
| @@ -259,21 +259,21 @@ file will not get compiled even if a native header file generated for it would b | |||
| </tr> | |||
| <tr> | |||
| <td>executable</td> | |||
| <td>Complete path to the <code>javac</code> executable to use in case of <var>fork</var> | |||
| <td>Complete path to the <kbd>javac</kbd> executable to use in case of <var>fork</var> | |||
| is <q>yes</q>.<br/><em>Since Ant 1.6</em> this attribute can also be used to specify the path | |||
| to the executable when using <q>jikes</q>, <q>jvc</q>, <q>gcj</q> or <q>sj</q>.</td> | |||
| <td>No; defaults to the compiler of current JDK, ignored if <var>fork</var> is <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>memoryInitialSize</td> | |||
| <td>The initial size of the memory for the underlying JVM, if <code>javac</code> is run | |||
| <td>The initial size of the memory for the underlying JVM, if <kbd>javac</kbd> is run | |||
| externally. (Examples: <q>83886080</q>, <q>81920k</q>, or <q>80m</q>)</td> | |||
| <td>No; defaults to the standard JVM memory setting, ignored if <var>fork</var> | |||
| is <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>memoryMaximumSize</td> | |||
| <td>The maximum size of the memory for the underlying JVM, if <code>javac</code> is run | |||
| <td>The maximum size of the memory for the underlying JVM, if <kbd>javac</kbd> is run | |||
| externally; ignored otherwise. (Examples: <q>83886080</q>, <q>81920k</q>, or <q>80m</q>)</td> | |||
| <td>No; defaults to the standard JVM memory setting, ignored if <var>fork</var> | |||
| is <q>no</q></td> | |||
| @@ -290,14 +290,14 @@ file will not get compiled even if a native header file generated for it would b | |||
| </tr> | |||
| <tr> | |||
| <td>source</td> | |||
| <td>Java language features accepted by compiler, as specified by the <code>-source</code> | |||
| <td>Java language features accepted by compiler, as specified by the <kbd>-source</kbd> | |||
| command-line switch. Valid feature versions are <q>1.3</q>, <q>1.4</q>, <q>1.5</q> | |||
| or <q>5</q>, etc. The attribute will be ignored by all implementations prior | |||
| to <q>javac1.4</q> (or <q>modern</q> when Ant is not running in a JVM 1.3), <q>gcj</q> | |||
| and <q>jikes</q>.<br/> If you use this attribute together with <q>gcj</q> or <q>jikes</q>, you | |||
| must make sure that your version supports the <code>-source</code> (or <code>-fsource</code> | |||
| for <code>gcj</code>) switch.</td> | |||
| <td>No; by default, no <code>-source</code> argument will be used at all unless the magic | |||
| must make sure that your version supports the <kbd>-source</kbd> (or <kbd>-fsource</kbd> | |||
| for <kbd>gcj</kbd>) switch.</td> | |||
| <td>No; by default, no <kbd>-source</kbd> argument will be used at all unless the magic | |||
| <a href="../javacprops.html#source"><code>ant.build.javac.source</code></a> property is | |||
| set<br/><strong>Note that the default value depends on JDK that is running Ant. We highly | |||
| recommend to always specify this attribute.</strong></td> | |||
| @@ -305,7 +305,7 @@ file will not get compiled even if a native header file generated for it would b | |||
| <tr> | |||
| <td>target</td> | |||
| <td>Generate class files for specific JVM version (cross-compile).</td> | |||
| <td>No; by default, no <code>-target</code> argument will be used at all unless the | |||
| <td>No; by default, no <kbd>-target</kbd> argument will be used at all unless the | |||
| magic <a href="../javacprops.html#target"><code>ant.build.javac.target</code></a> property is | |||
| set<br/><strong>Note that the default value depends on JDK that is running Ant and | |||
| on <var>source</var> | |||
| @@ -344,7 +344,7 @@ file will not get compiled even if a native header file generated for it would b | |||
| are on the classpath for the compiler. This means that "greedy" compilers will not recompile | |||
| dependent classes that are already compiled. In general this is a good thing as it stops the | |||
| compiler for doing unnecessary work. However, for some edge cases, involving generics, | |||
| the <code>javac</code> compiler needs to compile the dependent classes to get the generics | |||
| the <kbd>javac</kbd> compiler needs to compile the dependent classes to get the generics | |||
| information. One example is documented in the bug | |||
| report: <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=40776" target="_top">Bug | |||
| 40776 - a problem compiling a Java 5 project with generics</a>. Setting the attribute | |||
| @@ -371,7 +371,7 @@ file will not get compiled even if a native header file generated for it would b | |||
| <tr> | |||
| <td>modulepathref</td> | |||
| <td>The <var>modulepath</var> to use, given as <a href="../using.html#references">reference</a> | |||
| to a PATH defined elsewhere. <em>since Ant 1.9.7</em></td> | |||
| to a path defined elsewhere. <em>since Ant 1.9.7</em></td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -384,7 +384,7 @@ file will not get compiled even if a native header file generated for it would b | |||
| <tr> | |||
| <td>modulesourcepathref</td> | |||
| <td>The <var>modulesourcepath</var> to use, given | |||
| as <a href="../using.html#references">reference</a> to a PATH defined elsewhere. <em>since | |||
| as <a href="../using.html#references">reference</a> to a path defined elsewhere. <em>since | |||
| Ant 1.9.7</em></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -397,22 +397,21 @@ file will not get compiled even if a native header file generated for it would b | |||
| <tr> | |||
| <td>upgrademodulepathref</td> | |||
| <td>The <var>upgrademodulepath</var> to use, given | |||
| as <a href="../using.html#references">reference</a> to a PATH defined elsewhere. <em>since Ant | |||
| as <a href="../using.html#references">reference</a> to a path defined elsewhere. <em>since Ant | |||
| 1.9.7</em></td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>nativeheaderdir</td> | |||
| <td>Specify where to place generated native header files. Ignored when running on JDK < | |||
| 8. <em>Since Ant 1.9.8</em>. | |||
| <td>No</td> | |||
| <td>Specify where to place generated native header files. <em>Since Ant 1.9.8</em>. | |||
| <td>No, ignored when running on JDK 7 or earlier</td> | |||
| </tr> | |||
| <tr> | |||
| <td>release</td> | |||
| <td>Specify the value for the <code>--release</code> switch. Ignored when running on JDK < | |||
| 9.<br/>When set and running on JDK >= 9 the <var>source</var> and <var>target</var> | |||
| attributes as well as the <var>bootclasspath</var> will be ignored. <em>Since Ant 1.9.8</em>. | |||
| <td>No</td> | |||
| <td>Specify the value for the <kbd>--release</kbd> switch.<br/>When set and running on JDK 9+ | |||
| the <var>source</var> and <var>target</var> attributes as well as the <var>bootclasspath</var> | |||
| will be ignored. <em>Since Ant 1.9.8</em>. | |||
| <td>No, ignored when running on JDK 8 or earlier</td> | |||
| </tr> | |||
| </table> | |||
| @@ -510,7 +509,7 @@ is <q>1.4</q>, so you can use <code>assert</code> statements.</p> | |||
| <p>compiles all <samp>.java</samp> files under the <samp>${src}</samp> directory, and stores | |||
| the <samp>.class</samp> files in the <samp>${build}</samp> directory. This will fork off the Java | |||
| compiler using the default <code>javac</code> executable. The source level is <q>1.2</q> (similar | |||
| compiler using the default <kbd>javac</kbd> executable. The source level is <q>1.2</q> (similar | |||
| to <q>1.1</q> or <q>1.3</q>) and the class files should be runnable under JDK 1.2+ as well.</p> | |||
| <pre> | |||
| @@ -521,7 +520,7 @@ to <q>1.1</q> or <q>1.3</q>) and the class files should be runnable under JDK 1. | |||
| <p>compiles all <samp>.java</samp> files under the <samp>${src}</samp> directory, and stores | |||
| the <samp>.class</samp> files in the <samp>${build}</samp> directory. This will fork off the Java | |||
| compiler, using the executable named <code>java$javac.exe</code>. Note that the <q>$</q> sign needs | |||
| compiler, using the executable named <kbd>java$javac.exe</kbd>. Note that the <q>$</q> sign needs | |||
| to be escaped by a second one. The source level is <q>1.5</q>, so you can use generics.</p> | |||
| <pre> | |||
| @@ -563,9 +562,9 @@ elements as follows:</p> | |||
| <exclude name="mypackage/p1/testpackage/**"/> | |||
| </javac></pre> | |||
| <p>If you want to run the <code>javac</code> compiler of a different JDK, you should tell Ant, where | |||
| <p>If you want to run the <kbd>javac</kbd> compiler of a different JDK, you should tell Ant, where | |||
| to find the compiler and which version of JDK you will be using so it can choose the correct command | |||
| line switches. The following example executes a JDK 1.1 <code>javac</code> in a new process and | |||
| line switches. The following example executes a JDK 1.1 <kbd>javac</kbd> in a new process and | |||
| uses the correct command line switches even when Ant is running in a JVM of a different version:</p> | |||
| <pre> | |||
| @@ -610,7 +609,7 @@ log, that these settings are fix.</p> | |||
| <p><strong>Note</strong>: If you are using Ant on Windows and a new DOS window pops up for every use | |||
| of an external compiler, this may be a problem of the JDK you are using. This problem may occur | |||
| with all JDKs < 1.2.</p> | |||
| with all JDKs prior to 1.2.</p> | |||
| <p>If you want to activate other compiler options like <code>lint</code> you could use | |||
| the <code><compilerarg></code> element:</p> | |||
| @@ -670,7 +669,7 @@ compilation module set. The <code>{ ... , ... }</code> express alternates for e | |||
| compilation uses application modules located in <code>modules</code> folder.The source level | |||
| is <q>9</q> to enable modules.</p> | |||
| <h3>Jikes notes</h3> | |||
| <h3 id="jikes">Jikes notes</h3> | |||
| <p>You need Jikes 1.15 or later.</p> | |||
| @@ -682,7 +681,7 @@ and must be set to <q>true</q> or <q>yes</q> to be interpreted as anything other | |||
| than <q>false</q>. By default, <code>build.compiler.warnings</code> is <q>true</q>, while all others | |||
| are <q>false</q>.</p> | |||
| <table class="attr"> | |||
| <table> | |||
| <tr> | |||
| <th>Property</th> | |||
| <th>Description</th> | |||
| @@ -705,24 +704,24 @@ are <q>false</q>.</p> | |||
| <td><q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>build.compiler.warnings<br/><em><u>Deprecated</u></em>. Use <code><javac></code>'s <var>nowarn</var> | |||
| attribute instead.</td> | |||
| <td><code>build.compiler.warnings</code><br/><em><u>Deprecated</u></em>. | |||
| Use <code><javac></code>'s <var>nowarn</var> attribute instead.</td> | |||
| <td>Don't disable warning messages.</td> | |||
| <td><q>true</q></td> | |||
| </tr> | |||
| </table> | |||
| <h3>Jvc notes</h3> | |||
| <h3 id="jvc">Jvc notes</h3> | |||
| <p><q>Jvc</q> will enable Microsoft extensions unless you set the | |||
| property <code>build.compiler.jvc.extensions</code> to <q>false</q> before | |||
| invoking <code><javac></code>.</p> | |||
| <h3 id="bootstrap">Bootstrap options</h3> | |||
| <p>The Sun <code>javac</code> compiler has a <code>bootclasspath</code> command line | |||
| <p>The Sun <kbd>javac</kbd> compiler has a <kbd>-bootclasspath</kbd> command line | |||
| option—this corresponds to the <var>bootclasspath</var> attribute/element of | |||
| the <code><javac></code> task. The Sun compiler also allows more control over the boot | |||
| classpath using the <code>-X</code> and <code>-J-X</code> attributes. One can set these by using | |||
| classpath using the <kbd>-X</kbd> and <kbd>-J-X</kbd> attributes. One can set these by using | |||
| the <code><compilerarg></code>. <em>Since Ant 1.6.0</em>, there is a shortcut to convert path | |||
| references to strings that can by used in an OS independent fashion | |||
| (see <a href="../using.html#pathshortcut">pathshortcut</a>). For example:</p> | |||
| @@ -739,10 +738,10 @@ references to strings that can by used in an OS independent fashion | |||
| <p>The <a href="http://openjdk.java.net/" target="_top">OpenJDK</a> project has provided | |||
| the <code>javac</code> <a href="http://openjdk.java.net/groups/compiler/" target="_top">compiler</a> | |||
| as an open source project. The output of this project is a <code>javac.jar</code> which contains | |||
| the <code>javac</code> compiler. This compiler may be used with the <code><javac></code> task | |||
| with the use of a <code>-Xbootclasspath/p</code> Java argument. The argument needs to be given to | |||
| the runtime system of the <code>javac</code> executable, so it needs to be prepended with | |||
| a <code>-J</code>, for example:</p> | |||
| the <kbd>javac</kbd> compiler. This compiler may be used with the <code><javac></code> task | |||
| with the use of a <kbd>-Xbootclasspath/p</kbd> Java argument. The argument needs to be given to the | |||
| runtime system of the <kbd>javac</kbd> executable, so it needs to be prepended with a <kbd>-J</kbd>, | |||
| for example:</p> | |||
| <pre> | |||
| <property name="patched.javac.jar" | |||
| @@ -29,23 +29,23 @@ | |||
| task and it's there for backwards compatibility reasons. Since this task will be removed in future | |||
| versions, you are strongly encouraged to use <a href="javadoc.html">javadoc</a> instead.</em></p> | |||
| <h3>Description</h3> | |||
| <p>Generates code documentation using the <code>javadoc</code> tool.</p> | |||
| <p>Generates code documentation using the <kbd>javadoc</kbd> tool.</p> | |||
| <p>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 <code>javadoc</code> tool. This allows wildcards to be used to choose between package names, | |||
| the <kbd>javadoc</kbd> 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 | |||
| "changed" files, unlike the <a href="javac.html">javac</a> task. This means all packages | |||
| will be processed each time this task is run. In general, however, this task is used much less | |||
| frequently.</p> | |||
| <p><strong>Note</strong>: since <code>javadoc</code> | |||
| calls <code>System.exit()</code>, <code>javadoc</code> cannot be run inside the same JVM as Apache | |||
| Ant without breaking functionality. For this reason, this task always forks JVM. This overhead is | |||
| not significant since <code>javadoc</code> is normally a heavy application and will be called | |||
| infrequently.</p> | |||
| <p><strong>Note</strong>: since <kbd>javadoc</kbd> | |||
| calls <code class="code">System.exit()</code>, <kbd>javadoc</kbd> cannot be run inside the same | |||
| JVM as Apache Ant without breaking functionality. For this reason, this task always forks JVM. This | |||
| overhead is not significant since <kbd>javadoc</kbd> is normally a heavy application and will be | |||
| called infrequently.</p> | |||
| <p><strong>Note</strong>: the <var>packagelist</var> 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 <code>build.xml</code> file. This option was added in order to make it easier to migrate | |||
| from regular makefiles, where you would use this option of <code>javadoc</code>. The packages | |||
| from regular makefiles, where you would use this option of <kbd>javadoc</kbd>. The packages | |||
| listed in <var>packagelist</var> 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.</p> | |||
| @@ -56,20 +56,22 @@ acceptable. JDKs < 1.4 are no longer supported. If you specify the <var>exec | |||
| attribute it is up to you to ensure that this command supports the attributes you wish to use.</p> | |||
| <p><strong>Note</strong>: When generating the JavaDocs for classes which contains annotations you | |||
| maybe get a <code>java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl</code>. This is | |||
| due <a href="https://bugs.openjdk.java.net/browse/JDK-6442982" target="_top">bug-6442982</a>. The | |||
| cause is that JavaDoc cannot find the implementations of used annotations. The workaround is | |||
| providing the jars with these implementations (like JAXBs <code>@XmlType</code>, ...) | |||
| to <code><javadoc></code> using <var>classpath</var>, <var>classpathref</var> attributes or | |||
| maybe get a <code class="output">java.lang.ClassCastException: | |||
| com.sun.tools.javadoc.ClassDocImpl</code>. This is | |||
| due <a href="https://bugs.openjdk.java.net/browse/JDK-6442982" target="_top">bug 6442982</a>. The | |||
| cause is that <kbd>javadoc</kbd> cannot find the implementations of used annotations. The | |||
| workaround is providing the jars with these implementations (like | |||
| JAXBs <code class="code">@XmlType</code>, ...) to <code><javadoc></code> | |||
| using <var>classpath</var>, <var>classpathref</var> attributes or | |||
| nested <code><classpath></code> element.</p> | |||
| <p><strong>Note</strong>: many problems with running <code>javadoc</code> stem from command lines | |||
| <p><strong>Note</strong>: many problems with running <kbd>javadoc</kbd> stem from command lines | |||
| that have become too long—even though the error message doesn't give the slightest hint this | |||
| may be the problem. If you encounter problems with the task, try to set | |||
| the <var>useexternalfile</var> attribute to <q>true</q> first.</p> | |||
| <p>If you use multiple ways to specify where <code>javadoc</code> should be looking for sources, | |||
| your result will be the union of all specified documentations. If you, e.g., specify | |||
| <p>If you use multiple ways to specify where <kbd>javadoc</kbd> should be looking for sources, your | |||
| result will be the union of all specified documentations. If you, e.g., specify | |||
| a <var>sourcepath</var> attribute and also a nested <code>packageset</code> both pointing at the | |||
| same directory your <var>excludepackagenames</var> attribute won't have any effect unless it agrees | |||
| with the <var>exclude</var> patterns of the <code>packageset</code> (and vice versa).</p> | |||
| @@ -110,7 +112,7 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| </tr> | |||
| <tr> | |||
| <td>maxmemory</td> | |||
| <td>Max amount of memory to allocate to the <code>javadoc</code> JVM</td> | |||
| <td>Max amount of memory to allocate to the <kbd>javadoc</kbd> JVM</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -199,14 +201,14 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <tr> | |||
| <td>Old</td> | |||
| <td>Generate output using JDK 1.1 emulating doclet.<br/><strong>Note</strong>: <em>Since Ant | |||
| 1.8.0</em> this attribute has no effect because <code>javadoc</code> of Java 1.4 and later | |||
| does not support the <code>-1.1</code> switch anymore.</td> | |||
| 1.8.0</em> this attribute has no effect because <kbd>javadoc</kbd> of Java 1.4 and later | |||
| does not support the <kbd>-1.1</kbd> switch anymore.</td> | |||
| <td>1.2</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Verbose</td> | |||
| <td>Output messages about what Javadoc is doing</td> | |||
| <td>Output messages about what <kbd>javadoc</kbd> is doing</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -375,24 +377,23 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| </tr> | |||
| <tr> | |||
| <td>docletpath</td> | |||
| <td>Specifies the path to the doclet class file that is specified with the <code>-doclet</code> | |||
| <td>Specifies the path to the doclet class file that is specified with the <kbd>-doclet</kbd> | |||
| option.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>docletpathref</td> | |||
| <td>Specifies the path to the doclet class file that is specified with the <code>-doclet</code> | |||
| option by <a href="../using.html#references">reference</a> to a PATH defined elsewhere.</td> | |||
| <td>Specifies the path to the doclet class file that is specified with the <kbd>-doclet</kbd> | |||
| option by <a href="../using.html#references">reference</a> to a path defined elsewhere.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>additionalparam</td> | |||
| <td>Lets you add additional parameters to the <code>javadoc</code> command line. Useful for | |||
| <td>Lets you add additional parameters to the <kbd>javadoc</kbd> command line. Useful for | |||
| doclets. Parameters containing spaces need to be quoted using &quot;—see also the | |||
| nested | |||
| <code>arg</code> element.</td> | |||
| nested <code>arg</code> element.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -404,7 +405,7 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| </tr> | |||
| <tr> | |||
| <td>failonwarning</td> | |||
| <td>Stop the build process if a warning is emitted—i.e. if <code>javadoc</code>'s output | |||
| <td>Stop the build process if a warning is emitted—i.e. if <kbd>javadoc</kbd>'s output | |||
| contains the word <q>warning</q>. <em>since Ant 1.9.4</em></td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| @@ -434,8 +435,8 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| </tr> | |||
| <tr> | |||
| <td>source</td> | |||
| <td>Enable <code>javadoc</code> to handle Java language features. Set this to <q>1.4</q> to | |||
| document code that compiles using <code>javac -source 1.4</code>, etc.</td> | |||
| <td>Enable <kbd>javadoc</kbd> to handle Java language features. Set this to <q>1.4</q> to | |||
| document code that compiles using <kbd>javac -source 1.4</kbd>, etc.</td> | |||
| <td>1.4+</td> | |||
| <td>No; default can be provided using the magic | |||
| <a href="../javacprops.html#source"><code>ant.build.javac.source</code></a> property.</td> | |||
| @@ -454,7 +455,7 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| </tr> | |||
| <tr> | |||
| <td>noqualifier</td> | |||
| <td>Enables the <code>-noqualifier</code> argument—must be <q>all</q> or a colon separated | |||
| <td>Enables the <kbd>-noqualifier</kbd> argument—must be <q>all</q> or a colon separated | |||
| list of packages. <em>since Ant 1.6</em>.</td> | |||
| <td>1.4+</td> | |||
| <td>No</td> | |||
| @@ -468,7 +469,7 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| </tr> | |||
| <tr> | |||
| <td>executable</td> | |||
| <td>Specify a particular <code>javadoc</code> executable to use in place of the default binary | |||
| <td>Specify a particular <kbd>javadoc</kbd> executable to use in place of the default binary | |||
| (found in the same JDK as Ant is running in). <em>since Ant 1.6.3</em>.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| @@ -514,7 +515,7 @@ recommended.</p> | |||
| <h4>packageset</h4> | |||
| <p>A <a href="../Types/dirset.html">DirSet</a>. All matched directories that contain Java source | |||
| files will be passed to <code>javadoc</code> as package names. Package names are created from the | |||
| files will be passed to <kbd>javadoc</kbd> as package names. Package names are created from the | |||
| directory names by translating the directory separator into dots. Ant assumes the base directory of | |||
| the <code>packageset</code> points to the root of a package hierarchy.</p> | |||
| @@ -524,14 +525,14 @@ attributes of the task have no effect on the nested <code><packageset></co | |||
| <h4>fileset</h4> | |||
| <p>A <a href="../Types/fileset.html">FileSet</a>. All matched files will be passed | |||
| to <code>javadoc</code> as source files. Ant will automatically add the include | |||
| to <kbd>javadoc</kbd> as source files. Ant will automatically add the include | |||
| pattern <samp>**/*.java</samp> (and <samp>**/package.html</samp> | |||
| if <var>includenosourcepackages</var> is <q>true</q>) to these filesets.</p> | |||
| <p>Nested filesets can be used to document sources that are in the default package or if you want to | |||
| exclude certain files from documentation. If you want to document all source files and don't use | |||
| the default package, <code>packageset</code>s should be used instead as this increases performance | |||
| of <code>javadoc</code>.</p> | |||
| of <kbd>javadoc</kbd>.</p> | |||
| <p>The <var>packagenames</var>, <var>excludepackagenames</var> and <var>defaultexcludes</var> | |||
| attributes of the task have no effect on the nested <code><fileset></code> elements.</p> | |||
| @@ -602,7 +603,7 @@ and set it to <q>true</q>.</p> | |||
| <p>Similar to <code><doctitle></code>.</p> | |||
| <h4>link</h4> | |||
| <p>Create link to <code>javadoc</code> output at the given URL. This performs the same role as | |||
| <p>Create link to <kbd>javadoc</kbd> output at the given URL. This performs the same role as | |||
| the <var>link</var> and <var>linkoffline</var> attributes. You can use either syntax (or both at | |||
| once), but with the nested elements you can easily specify multiple occurrences of the | |||
| arguments.</p> | |||
| @@ -642,7 +643,7 @@ arguments.</p> | |||
| <td>If the <var>link</var> attribute is a relative file name, Ant will first try to locate the | |||
| file relative to the current project's <var>basedir</var> and if it finds a file there use an | |||
| absolute URL for the <var>link</var> attribute, otherwise it will pass the file name verbatim | |||
| to the <code>javadoc</code> command.</td> | |||
| to the <kbd>javadoc</kbd> command.</td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -679,8 +680,8 @@ task.</p> | |||
| <h4>doclet</h4> | |||
| <p>The doclet nested element is used to specify | |||
| the <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/javadoc/doclet/overview.html" | |||
| target="_top">doclet</a> that <code>javadoc</code> will use to process the input source files. A | |||
| number of the standard <code>javadoc</code> arguments are actually arguments of the standard | |||
| target="_top">doclet</a> that <kbd>javadoc</kbd> will use to process the input source files. A | |||
| number of the standard <kbd>javadoc</kbd> arguments are actually arguments of the standard | |||
| doclet. If these are specified in the <code>javadoc</code> task's attributes, they will be passed to | |||
| the doclet specified in the <code><doclet></code> nested element. Such attributes should only | |||
| be specified, therefore, if they can be interpreted by the doclet in use.</p> | |||
| @@ -721,7 +722,7 @@ those tags.</p> | |||
| <td>description</td> | |||
| <td>Description for tag (e.g. <q>To do:</q>)</td> | |||
| <td> | |||
| No, the <code>javadoc</code> executable will pick a default if this is not specified | |||
| No, the <kbd>javadoc</kbd> executable will pick a default if this is not specified | |||
| </td> | |||
| </tr> | |||
| <tr> | |||
| @@ -748,7 +749,7 @@ those tags.</p> | |||
| todo:a:To Do</pre> | |||
| <strong>Note</strong>: The Javadoc reference quide has double quotes around the description | |||
| part of the definition. This will not work when used in a file, as the definition is quoted | |||
| again when given to the <code>javadoc</code> program.<br/> | |||
| again when given to the <kbd>javadoc</kbd> program.<br/> | |||
| <strong>Note</strong>: If this attribute is specified, all the other attributes in this | |||
| element will be ignored.</td> | |||
| <td>No</td> | |||
| @@ -52,13 +52,13 @@ attribute:</p> | |||
| <li><q>gcjh</q>—the native standard compiler | |||
| of <a href="https://gcc.gnu.org/gcc-7/changes.html#java" target="_top">gcj and | |||
| gij</a>. <em>Since Apache Ant 1.8.2</em></li> | |||
| <li><q>forking</q>—runs the <code>javah</code> executable via its command line interface in | |||
| <li><q>forking</q>—runs the <kbd>javah</kbd> executable via its command line interface in | |||
| a separate process. Default when not running on Kaffe or gcj/gij <em>since Ant 1.9.8</em></li> | |||
| </ul> | |||
| <p><strong>Note</strong>: if you are using this task to work on multiple files the command line may | |||
| become too long on some operating systems. Unfortunately the <code>javah</code> command doesn't | |||
| support command argument files the way <code>javac</code> (for example) does, so all that can be | |||
| become too long on some operating systems. Unfortunately the <kbd>javah</kbd> command doesn't | |||
| support command argument files the way <kbd>javac</kbd> (for example) does, so all that can be | |||
| done is breaking the amount of classes to compile into smaller chunks.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -81,7 +81,7 @@ done is breaking the amount of classes to compile into smaller chunks.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>destdir</td> | |||
| <td class="left">sets the directory where <code>javah</code> saves the header files or the stub | |||
| <td class="left">sets the directory where <kbd>javah</kbd> saves the header files or the stub | |||
| files.</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -102,8 +102,7 @@ done is breaking the amount of classes to compile into smaller chunks.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>verbose</td> | |||
| <td>causes <code>Javah</code> to print a message concerning the status of the generated | |||
| files</td> | |||
| <td>causes <kbd>javah</kbd> to print a message concerning the status of the generated files</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -185,8 +184,8 @@ using one of the built-in compilers.</p> | |||
| <h4>Any nested element of a type that implements JavahAdapter</h4> | |||
| <p><em>Since Ant 1.8.0</em></p> | |||
| <p>If a defined type implements the <code>JavahAdapter</code> interface a nested element of that | |||
| type can be used as an alternative to the <var>implementation</var> attribute.</p> | |||
| <p>If a defined type implements the <code class="code">JavahAdapter</code> interface a nested | |||
| element of that type can be used as an alternative to the <var>implementation</var> attribute.</p> | |||
| <h3>Examples</h3> | |||
| <pre><javah destdir="c" class="org.foo.bar.Wibble"/></pre> | |||
| @@ -220,11 +219,12 @@ already exist.</p> | |||
| <class name="org.foo.bar.Tribble"/> | |||
| </javah></pre> | |||
| <p>writes the headers for the three classes using the 'old' JNI format, then writes the | |||
| corresponding <samp>.c</samp> stubs. The verbose option will cause <code>Javah</code> to describe | |||
| its progress.</p> | |||
| corresponding <samp>.c</samp> stubs. The <var>verbose</var> option will cause <code>Javah</code> to | |||
| describe its progress.</p> | |||
| <p>If you want to use a custom JavahAdapter <code>org.example.MyAdapter</code> you can either use | |||
| the implementation attribute:</p> | |||
| <p>If you want to use a | |||
| custom <code class="code">JavahAdapter</code> <code>org.example.MyAdapter</code> you can either use | |||
| the <var>implementation</var> attribute:</p> | |||
| <pre> | |||
| <javah destdir="c" class="org.foo.bar.Wibble" | |||
| implementation="org.example.MyAdapter"/></pre> | |||
| @@ -82,7 +82,7 @@ default the task writes its report to the standard output.</p> | |||
| <td>jvm</td> | |||
| <td>The command used to invoke JVM. The command is resolved | |||
| by <code>java.lang.Runtime.exec()</code>.</td> | |||
| <td>No; default <q>java</q>, ignored if <var>fork</var> is <q>false</q></td> | |||
| <td>No; default <kbd>java</kbd>, ignored if <var>fork</var> is <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>dir</td> | |||
| @@ -97,7 +97,7 @@ default the task writes its report to the standard output.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>classpathref</td> | |||
| <td>the <var>classpath</var> to use, given as reference to a PATH defined elsewhere.</td> | |||
| <td>the <var>classpath</var> to use, given as reference to a path defined elsewhere.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -494,18 +494,18 @@ versions</h3> | |||
| </table> | |||
| <p id="footnote-1"><a href="#footnote-1-back"><strong>Note</strong></a>: When running JJTree with | |||
| the Ant <code>taskdef jjtree</code> the option <code>-OUTPUT_DIRECTORY</code> must always be set, | |||
| the Ant <code>taskdef jjtree</code> the option <kbd>-OUTPUT_DIRECTORY</kbd> must always be set, | |||
| because the project's <var>basedir</var> and the Ant working directory might differ. So even if you | |||
| don't specify the <var>outputdirectory</var> for <code>taskdef jjtree</code>, JJTree will be called | |||
| with the <code>-OUTPUT_DIRECTORY</code> set to the project's <var>basedir</var>. But when | |||
| the <code>-OUTPUT_DIRECTORY</code> is set, the <code>-OUTPUT_FILE</code> setting is handled as if | |||
| relative to this <code>-OUTPUT_DIRECTORY</code>. Thus when the <code>-OUTPUT_FILE</code> is absolute | |||
| with the <kbd>-OUTPUT_DIRECTORY</kbd> set to the project's <var>basedir</var>. But when | |||
| the <kbd>-OUTPUT_DIRECTORY</kbd> is set, the <kbd>-OUTPUT_FILE</kbd> setting is handled as if | |||
| relative to this <kbd>-OUTPUT_DIRECTORY</kbd>. Thus when the <kbd>-OUTPUT_FILE</kbd> is absolute | |||
| or contains a drive letter we have a problem. Therefore absolute <var>outputfile</var>s (when | |||
| the <var>outputdirectory</var> isn't specified) are made relative to the default directory. And for | |||
| this reason <var>outputfile</var>s that contain a drive letter can't be supported.</p> | |||
| <p>By the way: specifying a drive letter in the <code>-OUTPUT_FILE</code> when | |||
| the <code>-OUTPUT_DIRECTORY</code> is set, also results in strange behavior when running JJTree from | |||
| <p>By the way: specifying a drive letter in the <kbd>-OUTPUT_FILE</kbd> when | |||
| the <kbd>-OUTPUT_DIRECTORY</kbd> is set, also results in strange behavior when running JJTree from | |||
| the command line.</p> | |||
| </body> | |||
| @@ -38,7 +38,7 @@ Library Dependencies</a> for more information.</p> | |||
| in <code>ANT_HOME/lib</code>.</li> | |||
| <li>Do not put either in <code>ANT_HOME/lib</code>, and instead include their locations in | |||
| your <code>CLASSPATH</code> environment variable.</li> | |||
| <li>Add both JARs to your classpath using <code>-lib</code>.</li> | |||
| <li>Add both JARs to your classpath using <kbd>-lib</kbd>.</li> | |||
| <li>Specify the locations of both JARs using a <code><classpath></code> element in | |||
| a <code><taskdef></code> in the build file.</li> | |||
| <li>Leave <samp>ant-junit.jar</samp> in its default location in <code>ANT_HOME/lib</code> but | |||
| @@ -129,7 +129,7 @@ for details.</p> | |||
| <td>jvm</td> | |||
| <td>The command used to invoke JVM. The command is resolved | |||
| by <code>java.lang.Runtime.exec()</code>.</td> | |||
| <td>No; default is <q>java</q>, ignored if <var>fork</var> is <q>false</q></td> | |||
| <td>No; default is <kbd>java</kbd>, ignored if <var>fork</var> is <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>dir</td> | |||
| @@ -227,7 +227,7 @@ the following string patterns:</p> | |||
| <h3 id="nested">Parameters specified as nested elements</h3> | |||
| <p>The <code><junit></code> task supports a nested <code><classpath></code> element that | |||
| represents a <a href="../using.html#path">PATH like structure</a>.</p> | |||
| represents a <a href="../using.html#path">path-like structure</a>.</p> | |||
| <p><em>Since Ant 1.7</em>, this classpath may be used to refer to <samp>junit.jar</samp> as well as | |||
| your tests and the tested code.</p> | |||
| @@ -286,7 +286,7 @@ element's attributes, see the description in the <a href="../Tasks/exec.html#env | |||
| <p><em>Since Ant 1.6</em>.</p> | |||
| <p>The location of bootstrap class files can be specified using | |||
| this <a href="../using.html#path">PATH like structure</a>—will be ignored if <var>fork</var> | |||
| this <a href="../using.html#path">path-like structure</a>—will be ignored if <var>fork</var> | |||
| is <q>false</q> or the target JVM doesn't support it (i.e. Java 1.1).</p> | |||
| <h4>permissions</h4> | |||
| @@ -312,7 +312,7 @@ an <a href="../Types/assertions.html"><code><assertions></code></a> subele | |||
| <p><em>Since Ant 1.9.8</em></p> | |||
| <p>The location of modules can be specified using this <a href="../using.html#path">PATH like | |||
| <p>The location of modules can be specified using this <a href="../using.html#path">path-like | |||
| structure</a>.<br/>The <code>modulepath</code> requires <var>fork</var> to be set to <q>true</q>. | |||
| <h4>upgrademodulepath</h4> | |||
| @@ -320,7 +320,7 @@ structure</a>.<br/>The <code>modulepath</code> requires <var>fork</var> to be se | |||
| <p><em>Since Ant 1.9.8</em></p> | |||
| <p>The location of modules that replace upgradeable modules in the runtime image can be specified | |||
| using this <a href="../using.html#path">PATH like | |||
| using this <a href="../using.html#path">path-like | |||
| structure</a>.<br/>The <code>upgrademodulepath</code> requires <var>fork</var> to be set | |||
| to <q>true</q>.</p> | |||
| @@ -335,15 +335,16 @@ of <code><test></code>.</p> | |||
| emits plain text. The formatter named <q>brief</q> will only print detailed information for test | |||
| cases that failed, while <q>plain</q> gives a little statistics line for all test cases. Custom | |||
| formatters that need to | |||
| implement <code>org.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatter</code> can be | |||
| specified.</p> | |||
| implement <code class="code">org.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatter</code> | |||
| can be specified.</p> | |||
| <p>If you use the XML formatter, it may not include the same output that your tests have written as | |||
| some characters are illegal in XML documents and will be dropped.</p> | |||
| <p>The fourth formatter named <q>failure</q> (<em>since Ant 1.8.0</em>) collects all | |||
| failing <code>testXXX()</code> methods and creates a new <code>TestCase</code> which delegates only | |||
| these failing methods. The name and the location can be specified via Java System property or Ant | |||
| failing <code class="code">testXXX()</code> methods and creates a | |||
| new <code class="code">TestCase</code> which delegates only these failing methods. The name and the | |||
| location can be specified via Java system property or Ant | |||
| property <code>ant.junit.failureCollector</code>. The value has to point to the directory and the | |||
| name of the resulting class (without suffix). It defaults | |||
| to <samp><i>java-tmp-dir</i>/FailedTests</samp>.</p> | |||
| @@ -362,7 +363,7 @@ to <samp><i>java-tmp-dir</i>/FailedTests</samp>.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>classname</td> | |||
| <td>Name of a custom formatter class.</td> | |||
| <td class="left">Name of a custom formatter class.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>extension</td> | |||
| @@ -480,14 +481,14 @@ to <samp><i>java-tmp-dir</i>/FailedTests</samp>.</p> | |||
| <tr> | |||
| <td>skipNonTests</td> | |||
| <td>Do not pass any classes that do not contain JUnit tests to the test runner. This prevents | |||
| non tests from appearing as test errors in test results.<br/> Tests are identified by looking | |||
| non tests from appearing as test errors in test results.<br/>Tests are identified by looking | |||
| for the <code>@Test</code> annotation on any methods in concrete classes that don't | |||
| extend <code>junit.framework.TestCase</code>, or for public/protected methods with names | |||
| starting with <q>test</q> in concrete classes that | |||
| extend <code>junit.framework.TestCase</code>. Classes marked with the JUnit | |||
| 4 <code>org.junit.runner.RunWith</code> or <code>org.junit.runner.Suite.SuiteClasses</code> | |||
| annotations are also passed to JUnit for execution, as is any class with a public/protected | |||
| no-argument <code>suite</code> method.</td> | |||
| no-argument <code>suite()</code> method.</td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -569,10 +570,11 @@ only <code><fileset></code> has been supported.</p> | |||
| non tests from appearing as test errors in test results.<br/>Tests are identified by looking | |||
| for the <code>@Test</code> annotation on any methods in concrete classes that don't | |||
| extend <code>junit.framework.TestCase</code>, or for public/protected methods with names | |||
| starting with 'test' in concrete classes that extend <code>junit.framework.TestCase</code>. | |||
| Classes marked with the JUnit4 <code>org.junit.runner.RunWith</code> | |||
| or <code>org.junit.runner.Suite.SuiteClasses</code> annotations are also passed to JUnit for | |||
| execution, as is any class with a public/protected no-argument <code>suite</code> method.</td> | |||
| starting with <q>test</q> in concrete classes that | |||
| extend <code>junit.framework.TestCase</code>. Classes marked with the JUnit | |||
| 4 <code>org.junit.runner.RunWith</code> or <code>org.junit.runner.Suite.SuiteClasses</code> | |||
| annotations are also passed to JUnit for execution, as is any class with a public/protected | |||
| no-argument <code>suite()</code> method.</td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -583,25 +585,26 @@ elements.</p> | |||
| <h3>Forked tests and <code>tearDown()</code></h3> | |||
| <p>If a forked test runs into a timeout, Ant will terminate the JVM process it has created, which | |||
| probably means the test's <code>tearDown()</code> method will never be called. The same is true if | |||
| the forked JVM crashes for some other reason.</p> | |||
| probably means the test's <code class="code">tearDown()</code> method will never be called. The | |||
| same is true if the forked JVM crashes for some other reason.</p> | |||
| <p><em>Since Ant 1.8.0</em>, a special formatter is distributed with Ant that tries to load the | |||
| testcase that was in the forked JVM and invoke that class' <code>tearDown()</code> method. This | |||
| formatter has the following limitations:</p> | |||
| testcase that was in the forked JVM and invoke that class' <code class="code">tearDown()</code> | |||
| method. This formatter has the following limitations:</p> | |||
| <ul> | |||
| <li>It runs in the same JVM as Ant itself, this is a different JVM than the one that was executing | |||
| the test and it may see a different classloader (and thus may be unable to load the test | |||
| class).</li> | |||
| <li>It cannot determine which test was run when the timeout/crash occurred if the forked JVM was | |||
| running multiple test. I.e. the formatter cannot work with any <var>forkMode</var> other | |||
| than <q>perTest</q> and it won't do anything if the test class contains a <code>suite()</code> | |||
| method.</li> | |||
| running multiple tests. I.e. the formatter cannot work with any <var>forkMode</var> other | |||
| than <q>perTest</q> and it won't do anything if the test class contains | |||
| a <code class="code">suite()</code> method.</li> | |||
| </ul> | |||
| <p>If the formatter recognizes an incompatible <var>forkMode</var> or a <code>suite</code> method or | |||
| fails to load the test class it will silently do nothing.</p> | |||
| <p>If the formatter recognizes an incompatible <var>forkMode</var> or | |||
| a <code class="code">suite()</code> method or fails to load the test class it will silently do | |||
| nothing.</p> | |||
| <p>The formatter doesn't have any effect on tests that were not forked or didn't cause timeouts or | |||
| JVM crashes.</p> | |||
| @@ -734,11 +737,11 @@ updating the collector class.</p> | |||
| the <code>platform.java</code> property. The JUnit library is a part of an unnamed module while the | |||
| tested project and required modules are on the module path. The tests do not have module-info file | |||
| and are executed in the project module given by <code>module.name</code> property.<br/> | |||
| The <code>--patch-module</code> Java option executes the tests built | |||
| The <kbd>--patch-module</kbd> Java option executes the tests built | |||
| into <samp>${build.test.classes}</samp> in a module given by <code>module.name</code> property.<br/> | |||
| The <code>--add-modules</code> Java option enables the tested module.<br/> | |||
| The <code>--add-reads</code> Java option makes the unnamed module containing JUnit readable by | |||
| tested module.<br/> The <code>--add-exports</code> Java option makes the non-exported test | |||
| The <kbd>--add-modules</kbd> Java option enables the tested module.<br/> | |||
| The <kbd>--add-reads</kbd> Java option makes the unnamed module containing JUnit readable by | |||
| tested module.<br/> The <kbd>--add-exports</kbd> Java option makes the non-exported test | |||
| package <code>my.test</code> accessible from the unnamed module containing JUnit.</p> | |||
| <pre> | |||
| <junit fork="true" | |||
| @@ -754,8 +757,8 @@ package <code>my.test</code> accessible from the unnamed module containing JUnit | |||
| </pre> | |||
| <p>Runs <code>my.test.TestCase</code> as a black-box test in the forked JVM given by | |||
| the <code>platform.java</code> property. The JUnit library is used as an automatic module. The | |||
| tests' module-info requires the tested module and JUnit.<br/> The <code>--add-modules</code> Java | |||
| option enables the test module.<br/> The <code>--add-exports</code> Java option makes the | |||
| tests' module-info requires the tested module and JUnit.<br/> The <kbd>--add-modules</kbd> Java | |||
| option enables the test module.<br/> The <kbd>--add-exports</kbd> Java option makes the | |||
| non-exported test package <code>my.test</code> accessible from the JUnit module and Ant's test | |||
| runner. Another possibility is to export the test package in the tests' module-info | |||
| by <code>exports my.test</code> directive.</p> | |||
| @@ -60,7 +60,7 @@ is not set.</p> | |||
| <tr> | |||
| <td>quiet</td> | |||
| <td>Do not display a diagnostic message (unless Apache Ant has been invoked with | |||
| the <code>-verbose</code> or <code>-debug</code> switches) or modify the exit status to | |||
| the <kbd>-verbose</kbd> or <kbd>-debug</kbd> switches) or modify the exit status to | |||
| reflect an error. Setting this to <q>true</q> implies setting <var>failonerror</var> | |||
| to <q>false</q>. <em>Since Ant 1.7.0</em>. | |||
| </td> | |||
| @@ -61,7 +61,7 @@ the property is not set.</p> | |||
| <tr> | |||
| <td>quiet</td> | |||
| <td>Do not display a diagnostic message (unless Ant has been invoked with | |||
| the <code>-verbose</code> or <code>-debug</code> switches) or modify the exit status to | |||
| the <kbd>-verbose</kbd> or <kbd>-debug</kbd> switches) or modify the exit status to | |||
| reflect an error. Setting this to <q>true</q> implies setting <var>failonerror</var> | |||
| to <q>false</q>.</td> | |||
| <td>No; default is <q>false</q></td> | |||
| @@ -73,7 +73,7 @@ examples section.</p> | |||
| <p>outputs</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| step1: | |||
| [echo] Before local: foo is foo | |||
| [echo] After local: foo is bar | |||
| @@ -110,7 +110,7 @@ remainder of the target <q>step1</q>.</p> | |||
| <p>outputs something similar to</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| [echo] global 3: foo is foo | |||
| [echo] global 1: foo is foo | |||
| [echo] First sequential: foo is bar.1 | |||
| @@ -186,7 +186,7 @@ | |||
| <h3>Examples</h3> | |||
| <p>The following example defined a task called testing and runs it.</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <macrodef name="testing"> | |||
| <attribute name="v" default="NOT SET"/> | |||
| <element name="some-tasks" optional="yes"/> | |||
| @@ -206,7 +206,7 @@ | |||
| element <code>cc-elements</code>. The body of the task uses the <code><cc></code> task | |||
| from the <a href="http://ant-contrib.sourceforge.net/" target="_top">ant-contrib</a> | |||
| project.</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <macrodef name="call-cc"> | |||
| <attribute name="target"/> | |||
| <attribute name="link"/> | |||
| @@ -223,7 +223,7 @@ | |||
| </sequential> | |||
| </macrodef></pre> | |||
| <p>This then can be used as follows:</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <call-cc target="unittests" link="executable" | |||
| target.dir="${build.bin.dir}"> | |||
| <cc-elements> | |||
| @@ -234,9 +234,10 @@ | |||
| <linker refid="linker-libs"/> | |||
| </cc-elements> | |||
| </call-cc></pre> | |||
| <p>The following fragment shows <call-cc>, but this time using an implicit element and | |||
| with the <var>link</var> and <var>target.dir</var> arguments having default values.</p> | |||
| <pre class="code"> | |||
| <p>The following fragment shows <code><call-cc></code>, but this time using an implicit | |||
| element and with the <var>link</var> and <var>target.dir</var> arguments having default | |||
| values.</p> | |||
| <pre> | |||
| <macrodef name="call-cc"> | |||
| <attribute name="target"/> | |||
| <attribute name="link" default="executable"/> | |||
| @@ -252,8 +253,9 @@ | |||
| </cc> | |||
| </sequential> | |||
| </macrodef></pre> | |||
| <p>This then can be used as follows, note that <cc-elements> is not specified.</p> | |||
| <pre class="code"> | |||
| <p>This then can be used as follows, note that <code><cc-elements></code> is not | |||
| specified.</p> | |||
| <pre> | |||
| <call-cc target="unittests"> | |||
| <includepath location="${gen.dir}"/> | |||
| <includepath location="test"/> | |||
| @@ -263,7 +265,7 @@ | |||
| </call-cc> | |||
| </pre> | |||
| <p>The following shows the use of the <code>text</code> element.</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <macrodef name="echotest"> | |||
| <text name="text"/> | |||
| <sequential> | |||
| @@ -275,10 +277,10 @@ | |||
| </echotest> | |||
| </pre> | |||
| <p>The following uses a prior defined attribute for setting the default value of another. The | |||
| output would be <code>one=test two=test</code>. If you change the order of lines *1 and *2 the | |||
| output would be <code>one=test two=@{one}</code>, because while processing | |||
| the <var>two</var>-line the value for <var>one</var> is not set.</p> | |||
| <pre class="code"> | |||
| output would be <code class="output">one=test two=test</code>. If you change the order of | |||
| lines *1 and *2 the output would be <code class="output">one=test two=@{one}</code>, because | |||
| while processing the <var>two</var>-line the value for <var>one</var> is not set.</p> | |||
| <pre> | |||
| <macrodef name="test"> | |||
| <attribute name="one"/> <strong>*1</strong> | |||
| <attribute name="two" default="@{one}"/> <strong>*2</strong> | |||
| @@ -31,8 +31,8 @@ property. Useful when setting up RMI or JNLP codebases, for example. Nested fi | |||
| supported; if present, these are turned into the URLs with the supplied <var>separator</var> between | |||
| them.</p> | |||
| <h3 id="attributes">Parameters</h3> | |||
| <table> | |||
| <tr class="attr"> | |||
| <table class="attr"> | |||
| <tr> | |||
| <th>Attribute</th> | |||
| <th>Description</th> | |||
| <th>Type</th> | |||
| @@ -75,7 +75,9 @@ them.</p> | |||
| <pre><makeurl file="${user.home}/.m2/repository" property="m2.repository.url"/></pre> | |||
| <p>Sets the property <code>m2.repository.url</code> to the file: URL of the local Maven2 | |||
| repository.</p> | |||
| <pre><makeurl property="codebase"><fileset dir="lib includes="*.jar"/></makeurl></pre> | |||
| <pre><makeurl property="codebase"> | |||
| <fileset dir="lib includes="*.jar"/> | |||
| </makeurl></pre> | |||
| <p>Set the property <code>codebase</code> to the three URLs of the files provided as nested | |||
| elements.</p> | |||
| </body> | |||
| @@ -89,10 +89,10 @@ This classpath must not be empty, and is required.</p> | |||
| jarfile="build/acme.jar"> | |||
| <classpath refid="classpath"/> | |||
| </manifestclasspath></pre> | |||
| <p>Assuming a path of id <q>classpath</q> was already defined, convert this path relatively to | |||
| the <samp>build/</samp> directory that will contain <samp>acme.jar</samp>, which can later be | |||
| created with <code><jar></code> with a nested <code><manifest></code> element that lists | |||
| an <code><attribute name="Class-Path" value="${jar.classpath}"/></code>.</p> | |||
| <p>Assuming a path with <var>id</var> <q>classpath</q> was already defined, convert this path | |||
| relatively to the <samp>build/</samp> directory that will contain <samp>acme.jar</samp>, which can | |||
| later be created with <code><jar></code> with a nested <code><manifest></code> element | |||
| that lists an <code><attribute name="Class-Path" value="${jar.classpath}"/></code>.</p> | |||
| </body> | |||
| </html> | |||
| @@ -31,7 +31,7 @@ the destination file is overwritten if it already exists. When <var>overwrite</ | |||
| then files are only moved if the source file is newer than the destination file, or when the | |||
| destination file does not exist.</p> | |||
| <p><a href="../Types/resources.html#collection">resource collections</a> are used to select a group | |||
| <p><a href="../Types/resources.html#collection">Resource collections</a> are used to select a group | |||
| of files to move. Only file system based resource collections are supported, this | |||
| includes <a href="../Types/fileset.html">fileset</a>s, <a href="../Types/filelist.html">filelist</a> | |||
| and <a href="../using.html#path">path</a>. Prior to Apache Ant 1.7 | |||
| @@ -52,7 +52,7 @@ | |||
| <ul> | |||
| <li><q>default</q>—the default converter for the platform: kaffe when run on Kaffe, | |||
| builtin otherwise.</li> | |||
| <li><q>sun</q>—used to be the standard converter of the JDK < 9</li> | |||
| <li><q>sun</q>—used to be the standard converter of the JDK 8 or earlier</li> | |||
| <li><q>kaffe</q>—the standard converter of <a href="http://www.kaffe.org" | |||
| target="_top">Kaffe</a></li> | |||
| <li><q>builtin</q>—Ant's internal implementation. <em>Since Ant 1.9.8</em></li> | |||
| @@ -66,7 +66,7 @@ | |||
| </tr> | |||
| <tr> | |||
| <td>reverse</td> | |||
| <td>Reverse the sense of the conversion, i.e. convert from ASCII to native <strong>only | |||
| <td>Reverse the sense of the conversion, i.e. convert from ASCII to native<br/><strong>Only | |||
| supported by the <q>sun</q> and <q>builtin</q> converters</strong></td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -169,8 +169,8 @@ using one of the built-in converters.</p> | |||
| <h4>Any nested element of a type that implements Native2AsciiAdapter</h4> | |||
| <p><em>Since Ant 1.8.0</em></p> | |||
| <p>If a defined type implements the <code>Native2AsciiAdapter</code> interface a nested element of | |||
| that type can be used as an alternative to the <var>implementation</var> attribute.</p> | |||
| <p>If a defined type implements the <code class="code">Native2AsciiAdapter</code> interface a nested | |||
| element of that type can be used as an alternative to the <var>implementation</var> attribute.</p> | |||
| <h3>Examples</h3> | |||
| @@ -189,8 +189,9 @@ EUCJIS encoding to ASCII and renames them to end in <samp>.java</samp>.</p> | |||
| to ASCII, placing the results in the directory <samp>src</samp>. The names of the files remain the | |||
| same.</p> | |||
| <p>If you want to use a custom Native2AsciiAdapter <code>org.example.MyAdapter</code> you can either | |||
| use the implementation attribute:</p> | |||
| <p>If you want to use a | |||
| custom <code class="code">Native2AsciiAdapter</code> <code>org.example.MyAdapter</code> you can | |||
| either use the implementation attribute:</p> | |||
| <pre> | |||
| <native2ascii encoding="EUCJIS" src="srcdir" dest="srcdir" | |||
| includes="**/*.eucjis" ext=".java" | |||
| @@ -203,8 +204,8 @@ use the implementation attribute:</p> | |||
| includes="**/*.eucjis" ext=".java"> | |||
| <myadapter/> | |||
| </native2ascii></pre> | |||
| <p>in which case your native2ascii adapter can support attributes and nested elements of its | |||
| own.</p> | |||
| <p>in which case your <code>native2ascii</code> adapter can support attributes and nested elements | |||
| of its own.</p> | |||
| </body> | |||
| </html> | |||
| @@ -50,8 +50,9 @@ nested <code><include></code>, <code><exclude></code> | |||
| and <code><patternset></code> elements.</p> | |||
| <p>All attributes except <var>classpath</var>, <var>srcdir</var> and <var>destDir</var> are also | |||
| available as properties in the form <code>ant.netrexxc.<i>attributename</i></code>, | |||
| eg.<br/><code><property name="ant.netrexxc.verbose" value="noverbose"/></code><br/> or from the | |||
| command line as<br/><code>ant -Dant.netrexxc.verbose=noverbose ...</code></p> | |||
| eg.<br/><code class="code"><property name="ant.netrexxc.verbose" | |||
| value="noverbose"/></code><br/> or from the command line as<br/><kbd>ant | |||
| -Dant.netrexxc.verbose=noverbose ...</kbd></p> | |||
| <p><strong>Note</strong>: This task depends on external libraries not included in the Apache Ant | |||
| distribution. See <a href="../install.html#librarydependencies">Library Dependencies</a> for more | |||
| information.</p> | |||
| @@ -174,7 +175,7 @@ information.</p> | |||
| <td>removeKeepExtension</td> | |||
| <td>Tells whether the trailing <samp>.keep</samp> in <var>compile</var>=<q>false</q> mode should | |||
| be removed so that the resulting Java source file really ends on <samp>.java</samp>. This | |||
| facilitates the use of the <code>javadoc</code> tool later on.</td> | |||
| facilitates the use of the <kbd>javadoc</kbd> tool later on.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -100,7 +100,7 @@ is not set, the remaining tasks in other threads will continue to run until all | |||
| completed. In this situation, the <code>parallel</code> task will also fail.</p> | |||
| <p>The <code>parallel</code> task may be combined with the <a href="sequential.html">sequential</a> | |||
| task to define sequences of tasks to be executed on each thread within the parallel block</p> | |||
| task to define sequences of tasks to be executed on each thread within the parallel block.</p> | |||
| <p>The <var>threadCount</var> attribute can be used to place a maximum number of available threads | |||
| for the execution. When not present all child tasks will be executed at once. When present then | |||
| @@ -125,9 +125,9 @@ occur. This is not a replacement for Java Language level thread semantics and i | |||
| <h4>daemons</h4> | |||
| <p>The <code>parallel</code> task supports a <code><daemons></code> nested element. This is a | |||
| list of tasks which are to be run in parallel daemon threads. The parallel task will not wait for | |||
| these tasks to complete. Being daemon threads, however, they will not prevent Ant from completing, | |||
| whereupon the threads are terminated. Failures in daemon threads which occur before | |||
| list of tasks which are to be run in parallel daemon threads. The <code>parallel</code> task will | |||
| not wait for these tasks to complete. Being daemon threads, however, they will not prevent Ant from | |||
| completing, whereupon the threads are terminated. Failures in daemon threads which occur before | |||
| the <code>parallel</code> task itself finishes will be reported and can cause <code>parallel</code> | |||
| to throw an exception. Failures which occur after <code>parallel</code> has completed are not | |||
| reported.</p> | |||
| @@ -166,7 +166,7 @@ the build. In this instance, some servlets are being compiled in one thread and | |||
| being precompiled in another. Developers 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. Here we set <var>fork</var>=<q>true</q> for the <code><javac></code> task, so | |||
| that it runs in a new process; if the <code><wljspc></code> task used the <code>javac</code> | |||
| that it runs in a new process; if the <code><wljspc></code> task used the <kbd>javac</kbd> | |||
| compiler in-VM (it may), concurrency problems may arise.</p> | |||
| <pre> | |||
| @@ -26,7 +26,7 @@ | |||
| <h2 id="patch">Patch</h2> | |||
| <h3>Description</h3> | |||
| <p>Applies a diff file to originals. Requires <code>patch</code> to be on the execution path.</p> | |||
| <p>Applies a diff file to originals. Requires <kbd>patch</kbd> to be on the execution path.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -140,7 +140,7 @@ value <samp>/weblogic</samp>.</p> | |||
| </pathconvert></pre> | |||
| <p>will generate the path shown below and store it in the property | |||
| named <code>wl.path.unix</code>.</p> | |||
| <pre>/weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/WINNT/SYSTEM32</pre> | |||
| <pre class="output">/weblogic/lib/weblogicaux.jar:/weblogic/classes:/weblogic/mssqlserver4/classes:/WINNT/SYSTEM32</pre> | |||
| <h4>Example 2</h4> | |||
| <p>Given a FileList defined as:</p> | |||
| @@ -154,7 +154,7 @@ named <code>wl.path.unix</code>.</p> | |||
| <map from="${env.HOME}" to="/usr/local"/> | |||
| </pathconvert></pre> | |||
| <p>will convert the list of files to the following Unix path:</p> | |||
| <pre>/usr/local/ant/lib/njavac.jar:/usr/local/ant/lib/xproperty.jar</pre> | |||
| <pre class="output">/usr/local/ant/lib/njavac.jar:/usr/local/ant/lib/xproperty.jar</pre> | |||
| <h4>Example 3</h4> | |||
| <pre> | |||
| @@ -60,7 +60,7 @@ | |||
| the <var>debug</var>, <var>deprecation</var>, <var>srcdir</var> and <var>destdir</var> | |||
| attributes set. It also has a <code>src</code> element to source files from a generated | |||
| directory.</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <presetdef name="my.javac"> | |||
| <javac debug="${debug}" deprecation="${deprecation}" | |||
| srcdir="${src.dir}" destdir="${classes.dir}"> | |||
| @@ -68,13 +68,13 @@ | |||
| </javac> | |||
| </presetdef></pre> | |||
| <p>This can be used as a normal <code>javac</code> task—for example:</p> | |||
| <pre class="code"><my.javac/></pre> | |||
| <pre><my.javac/></pre> | |||
| <p>The attributes specified in the preset task may be overridden—i.e. they may be seen as | |||
| optional attributes—for example:</p> | |||
| <pre class="code"><my.javac srcdir="${test.src}" deprecation="no"/></pre> | |||
| <pre><my.javac srcdir="${test.src}" deprecation="no"/></pre> | |||
| <p>One may put a <code>presetdef</code> definition in an antlib. For example suppose the jar | |||
| file <samp>antgoodies.jar</samp> has the <samp>antlib.xml</samp> as follows:</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <antlib> | |||
| <taskdef resource="com/acme/antgoodies/tasks.properties"/> | |||
| <!-- Implement the common use of the javac command --> | |||
| @@ -84,7 +84,7 @@ | |||
| </presetdef> | |||
| </antlib></pre> | |||
| <p>One may then use this in a build file as follows:</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <project default="example" xmlns:antgoodies="antlib:com.acme.antgoodies"> | |||
| <target name="example"> | |||
| <!-- Compile source --> | |||
| @@ -94,7 +94,7 @@ | |||
| </target> | |||
| </project></pre> | |||
| <p>The following is an example of evaluation of properties when the definition is used:</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <target name="defineandcall"> | |||
| <presetdef name="showmessage"> | |||
| <echo>message is '${message}'</echo> | |||
| @@ -109,8 +109,8 @@ | |||
| <target name="called"> | |||
| <showmessage/> | |||
| </target></pre> | |||
| <p>The command <code>ant defineandcall</code> results in the output:</p> | |||
| <pre class="code"> | |||
| <p>The command <kbd>ant defineandcall</kbd> results in the output:</p> | |||
| <pre class="output"> | |||
| defineandcall: | |||
| [showmessage] message is '${message}' | |||
| [showmessage] message is 'Message 1' | |||
| @@ -120,7 +120,7 @@ called: | |||
| <p>It is possible to use a trick to evaluate properties when the definition is <em>made</em> | |||
| rather than used. This can be useful if you do not expect some properties to be available in | |||
| child builds run with <code><ant ... inheritall="false"></code>:</p> | |||
| <pre class="code"> | |||
| <pre> | |||
| <macrodef name="showmessage-presetdef"> | |||
| <attribute name="messageval"/> | |||
| <presetdef name="showmessage"> | |||
| @@ -36,12 +36,13 @@ information.</p> | |||
| <h3>Parameters specified as nested elements</h3> | |||
| <p>You may specify many configured <code>org.apache.tools.ant.ProjectHelper</code> instances.</p> | |||
| <p>You may specify many configured <code class="code">org.apache.tools.ant.ProjectHelper</code> | |||
| instances.</p> | |||
| <h3>Example</h3> | |||
| <p>Install a custom ProjectHelper implementation (assuming <code>MyProjectHelper extends | |||
| ProjectHelper</code>):</p> | |||
| <p>Install a custom ProjectHelper implementation (assuming <code class="code">MyProjectHelper | |||
| extends ProjectHelper</code>):</p> | |||
| <pre> | |||
| <typedef classname="org.example.MyProjectHelper" | |||
| @@ -38,11 +38,11 @@ they are most definitely not variables.</p> | |||
| <li>By supplying both the <var>name</var> and <var>refid</var> attributes.</li> | |||
| <li>By setting the <var>file</var> 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 <code>java.util.Properties</code>, with the same rules about how non-ISO-8859-1 characters | |||
| must be escaped.</li> | |||
| class <code class="code">java.util.Properties</code>, with the same rules about how | |||
| non-ISO-8859-1 characters must be escaped.</li> | |||
| <li>By setting the <var>url</var> attribute with the URL from which to load the properties. This | |||
| URL must be directed to a file that has the format as defined by the file used in the | |||
| class <code>java.util.Properties</code>.</li> | |||
| class <code class="code">java.util.Properties</code>.</li> | |||
| <li>By setting the <var>resource</var> attribute with the resource name of the property file to | |||
| load. A resource is a property file on the current classpath, or on the specified | |||
| classpath.</li> | |||
| @@ -164,16 +164,16 @@ local definition is available (the table priority order being PROCESS, JOB, GROU | |||
| <h4>Any OS except OpenVMS</h4> | |||
| <p><em>Since Ant 1.8.2</em>, if Ant detects it is running on a Java 5 or newer, Ant will | |||
| use <code>System.getenv()</code> rather than its own OS dependent native implementation. For some | |||
| OSes this causes minor differences when compared to older versions of Ant. For a full list | |||
| see <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=49366" target="_top">Bugzilla Issue | |||
| 49366</a>. In particular:</p> | |||
| use <code class="code">System.getenv()</code> rather than its own OS dependent native | |||
| implementation. For some OSes this causes minor differences when compared to older versions of Ant. | |||
| For a full list see <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=49366" | |||
| target="_top">Bugzilla Issue 49366</a>. In particular:</p> | |||
| <ul> | |||
| <li>On Windows, Ant will now return additional "environment variables" that correspond to the | |||
| drive specific current working directories when Ant is run from the command line. The keys of | |||
| these variables starts with an equals sign.</li> | |||
| <li>Some users reported that some Cygwin specific variables (in particular <code>PROMPT</code>) | |||
| was no longer present.</li> | |||
| were no longer present.</li> | |||
| <li>On OS/2, Ant no longer returns the <code>BEGINLIBPATH</code> variable.</li> | |||
| </ul> | |||
| @@ -241,7 +241,7 @@ personal settings with a file per user.</p> | |||
| <p>As stated, this task will load in a properties file stored in the file system, or as a resource | |||
| on a classpath. Here are some interesting facts about this feature</p> | |||
| <ol> | |||
| <li>If the file is not there, nothing is printed except at <code>-verbose</code> log level. This | |||
| <li>If the file is not there, nothing is printed except at <kbd>-verbose</kbd> log level. This | |||
| lets you have optional configuration files for every project, that team members can customize. | |||
| <li>The rules for this format | |||
| match <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html#load-java.io.InputStream-" | |||
| @@ -267,7 +267,7 @@ variables. So it starts a command in a new process which prints the environment | |||
| the output and creates the properties.<br/> There are commands for the following operating systems | |||
| implemented | |||
| in <a href="https://git-wip-us.apache.org/repos/asf?p=ant.git;a=blob;f=src/main/org/apache/tools/ant/taskdefs/Execute.java;hb=refs/heads/master" | |||
| target="_top">Execute.java</a> (method <code>getProcEnvCommand()</code>): | |||
| target="_top">Execute.java</a> (method <code class="code">getProcEnvCommand()</code>): | |||
| </p> | |||
| <table> | |||
| <tr> | |||
| @@ -29,8 +29,9 @@ | |||
| <h3>Description</h3> | |||
| <p>This task is provided for the purpose of allowing the user to <strong>(a)</strong> install a | |||
| different <code>PropertyHelper</code> at runtime, or <strong>(b)</strong> (hopefully more often) | |||
| install one or more <code>PropertyHelper</code> Delegates into the <code>PropertyHelper</code> | |||
| active on the current <code>Project</code>. This is somewhat advanced Apache Ant usage and assumes a | |||
| install one or more <code class="code">PropertyHelper</code> Delegates into | |||
| the <code class="code">PropertyHelper</code> active on the | |||
| current <code class="code">Project</code>. This is somewhat advanced Apache Ant usage and assumes a | |||
| working familiarity with the modern Ant APIs. See the description of | |||
| Ant's <a href="../properties.html#propertyHelper">Property Helper</a> for more information.</p> | |||
| @@ -41,11 +42,12 @@ Ant's <a href="../properties.html#propertyHelper">Property Helper</a> for more i | |||
| instance.</p> | |||
| <h4>PropertyHelper.Delegate</h4> | |||
| <p>You may specify, either in conjunction with a new <code>PropertyHelper</code> or not, one or more | |||
| configured implementations of the <code>org.apache.tools.ant.PropertyHelper.Delegate</code> | |||
| interface. A deeper understanding of the API is required here, however, as <code>Delegate</code> is | |||
| a marker interface only: the nested arguments must implement a <code>Delegate</code> subinterface in | |||
| order to do anything meaningful.</p> | |||
| <p>You may specify, either in conjunction with a new <code class="code">PropertyHelper</code> or | |||
| not, one or more configured implementations of | |||
| the <code class="code">org.apache.tools.ant.PropertyHelper.Delegate</code> interface. A deeper | |||
| understanding of the API is required here, however, as <code class="code">Delegate</code> is a | |||
| marker interface only: the nested arguments must implement a <code class="code">Delegate</code> | |||
| subinterface in order to do anything meaningful.</p> | |||
| <h4>delegate</h4> | |||
| <p>A generic <code><delegate></code> element which can use project references is also | |||
| @@ -67,8 +69,8 @@ provided:</p> | |||
| <h3>Examples</h3> | |||
| <p>Install a completely different <code>PropertyHelper</code> implementation | |||
| (assuming <code>MyPropertyHelper extends PropertyHelper</code>):</p> | |||
| <p>Install a completely different <code class="code">PropertyHelper</code> implementation | |||
| (assuming <code class="code">MyPropertyHelper extends PropertyHelper</code>):</p> | |||
| <pre> | |||
| <componentdef classname="org.example.MyPropertyHelper" | |||
| @@ -78,10 +80,11 @@ provided:</p> | |||
| </propertyhelper> | |||
| </pre> | |||
| <p>Add a new <code>PropertyEvaluator</code> delegate (assuming <code>MyPropertyEvaluator implements | |||
| PropertyHelper.PropertyEvaluator</code>). Note that <code>PropertyHelper</code> uses the configured | |||
| delegates in LIFO order. I.e. the delegate added by this task will be consulted before any | |||
| previously defined delegate and in particular before the built-in ones.</p> | |||
| <p>Add a new <code class="code">PropertyEvaluator</code> delegate | |||
| (assuming <code class="code">MyPropertyEvaluator implements | |||
| PropertyHelper.PropertyEvaluator</code>). Note that <code class="code">PropertyHelper</code> uses | |||
| the configured delegates in LIFO order. I.e. the delegate added by this task will be consulted | |||
| before any previously defined delegate and in particular before the built-in ones.</p> | |||
| <pre> | |||
| <componentdef classname="org.example.MyPropertyEvaluator" | |||
| @@ -91,7 +94,8 @@ previously defined delegate and in particular before the built-in ones.</p> | |||
| </propertyhelper> | |||
| </pre> | |||
| <p>Add a new <code>PropertyEvaluator</code> delegate using the <var>refid</var> syntax:</p> | |||
| <p>Add a new <code class="code">PropertyEvaluator</code> delegate using the <var>refid</var> | |||
| syntax:</p> | |||
| <pre> | |||
| <typedef classname="org.example.MyPropertyEvaluator" | |||
| @@ -116,7 +116,7 @@ the repository.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>pvcsbin</td> | |||
| <td>On some systems the PVCS executables <code>pcli</code> and <code>get</code> are not found in | |||
| <td>On some systems the PVCS executables <kbd>pcli</kbd> and <kbd>get</kbd> are not found in | |||
| the <code>PATH</code>. In such cases this attribute should be set to the <code>bin</code> | |||
| directory of the PVCS installation containing the executables mentioned before. If this | |||
| attribute isn't specified the tag expects the executables to be found using | |||
| @@ -190,9 +190,9 @@ multiple projects can be specified.</p> | |||
| <target name="getlatest"> | |||
| <pvcs repository="/mnt/pvcs" pvcsproject="/myprj"/> | |||
| </target></pre> | |||
| <p>Now run: <code>ant getlatest</code></p> | |||
| <p>Now run: <kbd>ant getlatest</kbd></p> | |||
| <p>This will cause the following output to appear:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| getlatest: | |||
| [pvcs] PVCS Version Manager (VMGUI) v6.6.10 (Build 870) for Windows NT/80x86 | |||
| [pvcs] Copyright 1985-2000 MERANT. All rights reserved. | |||
| @@ -219,9 +219,9 @@ projects using nested <code><pvcsproject></code> elements.</p> | |||
| <pvcsproject name="/myprj2"/> | |||
| </pvcs> | |||
| </target></pre> | |||
| <p>Now run: <code>ant getlatest2</code></p> | |||
| <p>Now run: <kbd>ant getlatest2</kbd></p> | |||
| <p>This will cause the following output to appear:</p> | |||
| <pre> | |||
| <pre class="output"> | |||
| getlatest2: | |||
| [pvcs] PVCS Version Manager (VMGUI) v6.6.10 (Build 870) for Windows NT/80x86 | |||
| [pvcs] Copyright 1985-2000 MERANT. All rights reserved. | |||
| @@ -33,8 +33,8 @@ rebuilds based on unchanged files which have been regenerated by this task.</p> | |||
| <p>Similar to <a href="../Types/mapper.html#regexp-mapper">regexp type mappers</a> this task needs a | |||
| supporting regular expression library and an implementation | |||
| of <code>org.apache.tools.ant.util.regexp.Regexp</code>. See details in the documentation of | |||
| the <a href="../Types/regexp.html#implementation">Regexp Type</a>.</p> | |||
| of <code class="code">org.apache.tools.ant.util.regexp.Regexp</code>. See details in the | |||
| documentation of the <a href="../Types/regexp.html#implementation">Regexp Type</a>.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -26,8 +26,8 @@ | |||
| <p><em>Since Apache Ant 1.7.1</em></p> | |||
| <h3>Description</h3> | |||
| <p><code>Retry</code> is a container which executes a single nested task until either: there is no | |||
| failure; or: its <var>retrycount</var> has been exceeded. If this happens a BuildException is | |||
| thrown.</p> | |||
| failure; or: its <var>retrycount</var> has been exceeded. If this happens | |||
| a <code>BuildException</code> is thrown.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -26,7 +26,7 @@ | |||
| <h2 id="rmic">Rmic</h2> | |||
| <h3>Description</h3> | |||
| <p>Runs the <code>rmic</code> compiler for a certain class.</p> | |||
| <p>Runs the <kbd>rmic</kbd> compiler for a certain class.</p> | |||
| <p><code>Rmic</code> 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 <code>_Stub</code> | |||
| nor <code>_Skel</code> classes). If you want to <code>rmic</code> a single class and this class is | |||
| @@ -58,9 +58,9 @@ are the choices:</p> | |||
| <li><q>forking</q>—(<em>since Apache Ant 1.7</em>) the <q>sun</q> compiler forked into a | |||
| separate process. <em>Since Ant 1.9.8</em>, this is the default when running on JDK 9+.</li> | |||
| <li><q>xnew</q>—(<em>since Ant 1.7</em>) the <q>sun</q> compiler forked into a separate | |||
| process, with the <code>-Xnew</code> option. This is the most reliable way to | |||
| use <code>-Xnew</code>.<br/>JDK 9 has removed support for <code>-Xnew</code> and <em>since Ant | |||
| 1.9.8</em> this option will be rejected when running on JDK 9.</li> | |||
| process, with the <kbd>-Xnew</kbd> option. This is the most reliable way to | |||
| use <kbd>-Xnew</kbd>.<br/>JDK 9 has removed support for <kbd>-Xnew</kbd> and <em>since Ant | |||
| 1.9.8</em> this option will be rejected when running on JDK 9+.</li> | |||
| <li><q></q> (empty string). This has the same behaviour as not setting the compiler attribute. | |||
| First the value of <code>build.rmic</code> is used if defined, and if not, the default for the | |||
| platform is chosen. If <code>build.rmic</code> is set to this, you get the default.</li> | |||
| @@ -73,8 +73,8 @@ consult miniRMI's documentation to learn how to use it.</p> | |||
| <h4>CORBA support</h4> | |||
| <p>Java 11 <a href="http://openjdk.java.net/jeps/320" target="_top">removes</a> the Java EE and | |||
| CORBA packages and <code>rmic</code> no longer supports either <code>iiop</code> | |||
| or <code>idl</code>. Starting with Ant 1.10.3, the <code>rmic</code> task will fail when using | |||
| CORBA packages and <kbd>rmic</kbd> no longer supports either <kbd>-iiop</kbd> | |||
| or <kbd>-idl</kbd> options. Starting with Ant 1.10.3, the <kbd>rmic</kbd> task will fail when using | |||
| either while running Java 11+ unless you fork the task and explicitly specify an executable.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -96,7 +96,7 @@ either while running Java 11+ unless you fork the task and explicitly specify an | |||
| </tr> | |||
| <tr> | |||
| <td>classname</td> | |||
| <td>the class for which to run <code>rmic</code>.</td> | |||
| <td>the class for which to run <kbd>rmic</kbd>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -106,15 +106,15 @@ either while running Java 11+ unless you fork the task and explicitly specify an | |||
| </tr> | |||
| <tr> | |||
| <td>sourcebase</td> | |||
| <td>Pass the <code>-keepgenerated</code> flag to <code>rmic</code> and move the generated source | |||
| <td>Pass the <kbd>-keepgenerated</kbd> flag to <kbd>rmic</kbd> and move the generated source | |||
| file to the given <var>sourcebase</var> directory.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>stubversion</td> | |||
| <td>Specify the JDK version for the generated stub code. Specify <q>1.1</q> to pass | |||
| the <code>-v1.1</code> option to <code>rmic</code>, <q>1.2</q> | |||
| for <code>-v12</code>, <q>compat</q> for <code>-vcompat</code>.<br/><em>Since Ant 1.7</em>, if | |||
| the <kbd>-v1.1</kbd> option to <kbd>rmic</kbd>, <q>1.2</q> | |||
| for <kbd>-v1.2</kbd>, <q>compat</q> for <kbd>-vcompat</kbd>.<br/><em>Since Ant 1.7</em>, if | |||
| you do not specify a version, and do not ask for <samp>.iiop</samp> or <samp>.idl</samp> | |||
| files, <q>compat</q> is selected.</td> | |||
| <td>No; default is <q>compat</q></td> | |||
| @@ -157,7 +157,7 @@ either while running Java 11+ unless you fork the task and explicitly specify an | |||
| </tr> | |||
| <tr> | |||
| <td>verify</td> | |||
| <td>check that classes implement <code>Remote</code> before handing them to <code>rmic</code></td> | |||
| <td>check that classes implement <code>Remote</code> before handing them to <kbd>rmic</kbd></td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -184,7 +184,7 @@ either while running Java 11+ unless you fork the task and explicitly specify an | |||
| </tr> | |||
| <tr> | |||
| <td>debug</td> | |||
| <td>generate debug info (passes <code>-g</code> to <code>rmic</code>)</td> | |||
| <td>generate debug info (passes <kbd>-g</kbd> to <kbd>rmic</kbd>)</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -211,9 +211,9 @@ either while running Java 11+ unless you fork the task and explicitly specify an | |||
| </tr> | |||
| <tr> | |||
| <td>executable</td> | |||
| <td>Complete path to the <code>rmic</code> executable to use in case of the <q>forking</q> | |||
| <td>Complete path to the <kbd>rmic</kbd> executable to use in case of the <q>forking</q> | |||
| or <q>xnew</q> compiler. <em>Since Ant 1.8.0</em>.</td> | |||
| <td>No; defaults to the <code>rmic</code> compiler of JDK that is currently running Ant</td> | |||
| <td>No; defaults to the <kbd>rmic</kbd> compiler of JDK that is currently running Ant</td> | |||
| </tr> | |||
| <tr> | |||
| <td>listfiles</td> | |||
| @@ -298,10 +298,10 @@ can be used as an alternative to the <var>compiler</var> attribute.</p> | |||
| <h3>Examples</h3> | |||
| <pre><rmic classname="com.xyz.FooBar" base="${build}/classes"/></pre> | |||
| <p>runs the <code>rmic</code> compiler for the class <code>com.xyz.FooBar</code>. The compiled files | |||
| <p>runs the <kbd>rmic</kbd> compiler for the class <code>com.xyz.FooBar</code>. The compiled files | |||
| will be stored in the directory <samp>${build}/classes</samp>.</p> | |||
| <pre><rmic base="${build}/classes" includes="**/Remote*.class"/></pre> | |||
| <p>runs the <code>rmic</code> compiler for all classes with <samp>.class</samp> files | |||
| <p>runs the <kbd>rmic</kbd> compiler for all classes with <samp>.class</samp> files | |||
| below <samp>${build}/classes</samp> whose classname starts with <code>Remote</code>. The compiled | |||
| files will be stored in the directory <samp>${build}/classes</samp>.</p> | |||
| @@ -56,31 +56,31 @@ with <code>rpm</code> support.</p> | |||
| <tr> | |||
| <td>cleanBuildDir</td> | |||
| <td>This will remove the generated files in the <samp>BUILD</samp> directory. See the | |||
| the <code>--clean</code> option of rpmbuild.</td> | |||
| the <kbd>--clean</kbd> option of <kbd>rpmbuild</kbd>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>removeSpec</td> | |||
| <td>This will remove the spec file from <samp>SPECS</samp>. See the the <code>--rmspec</code> | |||
| option of <code>rpmbuild</code>.</td> | |||
| <td>This will remove the spec file from <samp>SPECS</samp>. See the the <kbd>--rmspec</kbd> | |||
| option of <kbd>rpmbuild</kbd>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>removeSource</td> | |||
| <td>Flag to remove the sources after the build. See the <code>--rmsource</code> option | |||
| of <code>rpmbuild</code>.</td> | |||
| <td>Flag to remove the sources after the build. See the <kbd>--rmsource</kbd> option | |||
| of <kbd>rpmbuild</kbd>.</td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>rpmBuildCommand</td> | |||
| <td>The executable to use for building the RPM. Set this if default executables are not on | |||
| <code>PATH</code> or a different executable is needed. <em>Since Apache Ant 1.6</em>.</td> | |||
| <td>No; defaults to <code>rpmbuild</code> if it can be found or <code>rpm</code> otherwise</td> | |||
| <td>No; defaults to <kbd>rpmbuild</kbd> if it can be found or <kbd>rpm</kbd> otherwise</td> | |||
| </tr> | |||
| <tr> | |||
| <td>command</td> | |||
| <td>The command to pass to the <code>rpmbuild</code> program.</td> | |||
| <td>No; default is <code>-bb</code></td> | |||
| <td>No; default is <kbd>-bb</kbd></td> | |||
| </tr> | |||
| <tr> | |||
| <td>quiet</td> | |||
| @@ -169,7 +169,7 @@ their URL equivalents.</p> | |||
| perform entity resolution.</p> | |||
| <h4>attribute</h4> | |||
| <p>The <code><attribute></code> element is used to set parser features.<br/>Features usable | |||
| with the xerces parser are defined here: <a href="https://xml.apache.org/xerces-j/features.html" | |||
| with the Xerces parser are defined here: <a href="https://xml.apache.org/xerces-j/features.html" | |||
| target="_top">Setting features</a><br/>SAX features are defined | |||
| here: <a href="http://www.saxproject.org/apidoc/org/xml/sax/package-summary.html#package_description" | |||
| target="_top"><code>http://xml.org/sax/features/</code></a></p> | |||
| @@ -260,9 +260,9 @@ can be a serious security hole. Consider using variable substitution and includ | |||
| the command line. For example:</p> | |||
| <pre><scp todir="${username}:${password}@host:/dir" ...></pre> | |||
| <p>Invoking Ant with the following command line:</p> | |||
| <pre>ant -Dusername=me -Dpassword=mypassword target1 target2</pre> | |||
| <p>Is slightly better, but the username/password is exposed to all users on an Unix system (via | |||
| the <code>ps</code> command). The best approach is to use the <code><input></code> task and/or | |||
| <pre class="input">ant -Dusername=me -Dpassword=mypassword target1 target2</pre> | |||
| <p>is slightly better, but the username/password is exposed to all users on an Unix system (via | |||
| the <kbd>ps</kbd> command). The best approach is to use the <code><input></code> task and/or | |||
| retrieve the password from a (secured) <samp>.properties</samp> file.</p> | |||
| <p><strong>Unix Note</strong>: File permissions are not retained when files are downloaded; they end | |||
| @@ -39,10 +39,10 @@ indicated by <q>javax</q>.</p> | |||
| <p>All items (tasks, targets, etc) of the running project are accessible from the script, using | |||
| either their <var>name</var> or <var>id</var> attributes (as long as their names are considered | |||
| valid Java identifiers, that is). This is controlled by the <var>setbeans</var> attribute of the | |||
| task. The name <code>project</code> is a pre-defined reference to the Project, which can be used | |||
| instead of the project name. The name <code>self</code> is a pre-defined reference to the | |||
| actual <code><script></code>-Task instance.<br/>From these objects you have access to the Ant | |||
| Java API, see the <a href="../api/index.html">JavaDoc</a> (especially | |||
| task. The name <code class="code">project</code> is a pre-defined reference to the Project, which | |||
| can be used instead of the project name. The name <code class="code">self</code> is a pre-defined | |||
| reference to the actual <code><script></code>-Task instance.<br/>From these objects you have | |||
| access to the Ant Java API, see the <a href="../api/index.html">JavaDoc</a> (especially | |||
| for <a href="../api/org/apache/tools/ant/Project.html">Project</a> | |||
| and <a href="../api/org/apache/tools/ant/taskdefs/optional/Script.html">Script</a>) for more | |||
| information.</p> | |||
| @@ -124,7 +124,7 @@ In particular all targets should have different location values.</p> | |||
| <h4>classpath</h4> | |||
| <p><em>Since Ant 1.7</em></p> | |||
| <p><code>Script</code>'s <var>classpath</var> attribute is a <a href="../using.html#path">path-like | |||
| structure</a> and can also be set via a nestedq <code><classpath></code> element. | |||
| structure</a> and can also be set via a nested <code><classpath></code> element. | |||
| </p> | |||
| <p>If a classpath is set, it will be used as the current thread context classloader, and as the | |||
| classloader given to the BSF manager. This means that it can be used to specify the classpath | |||
| @@ -266,21 +266,22 @@ of all files a <code><fileset/></code> caught.</p> | |||
| <p>We want to use the Java API. Because we don't want always typing the package signature we do an | |||
| import. Rhino knows two different methods for import statements: one for packages and one for a | |||
| single class. By default only the <code>java</code> packages are available, | |||
| so <code>java.lang.System</code> can be directly imported | |||
| so <code class="code">java.lang.System</code> can be directly imported | |||
| with <code>importClass/importPackage</code>. For other packages you have to prefix the full | |||
| classified name with <strong>Packages</strong>. For example Ant's <code>FileUtils</code> class can | |||
| be imported | |||
| with <code>importClass(<strong>Packages</strong>.org.apache.tools.ant.util.FileUtils)</code><br/> | |||
| with <code class="code">importClass(<strong>Packages</strong>.org.apache.tools.ant.util.FileUtils)</code><br/> | |||
| The <code><script></code> task populates the Project instance under the | |||
| name <code>project</code>, so we can use that reference. Another way is to use its given name or | |||
| getting its reference from the task itself.<br/> The Project provides methods for accessing and | |||
| setting properties, creating DataTypes and Tasks and much more.<br/> After creating a FileSet | |||
| object we initialize that by calling its set-methods. Then we can use that object like a normal Ant | |||
| task (<code><copy></code> for example).<br/> For getting the size of a file we instantiate | |||
| a <code>java.io.File</code>. So we are using normal Java API here.<br/> Finally we use | |||
| a <code class="code">java.io.File</code>. So we are using normal Java API here.<br/> Finally we use | |||
| the <code><echo></code> task for producing the output. The task is not executed by | |||
| its <code>execute()</code> method, because the <code>perform()</code> method (implemented in Task | |||
| itself) does the appropriate logging before and after invoking <code>execute()</code>.</p> | |||
| its <code class="code">execute()</code> method, because the <code class="code">perform()</code> | |||
| method (implemented in Task itself) does the appropriate logging before and after | |||
| invoking <code class="code">execute()</code>.</p> | |||
| <p>Here is an example of using beanshell to create an Ant task. This task will add filesets and | |||
| paths to a referenced path. If the path does not exist, it will be created.</p> | |||
| <pre> | |||
| @@ -313,7 +314,7 @@ paths to a referenced path. If the path does not exist, it will be created.</p> | |||
| project.addTaskDefinition("addtopath", AddToPath.class); | |||
| </script></pre> | |||
| <p>An example of using this task to create a path from a list of directories (using | |||
| ant-contrib's <a href="http://ant-contrib.sourceforge.net/tasks/tasks/for.html" | |||
| Ant-Contrib's <a href="http://ant-contrib.sourceforge.net/tasks/tasks/for.html" | |||
| target="_top"><for></a> task) follows:</p> | |||
| <pre> | |||
| <path id="main.path"> | |||
| @@ -43,28 +43,29 @@ information.</p> | |||
| <p>The attributes and nested elements supported by the task may be defined | |||
| using <code><attribute></code> and <code><element></code> nested elements. These are | |||
| available to the script that implements the task as two collection style script | |||
| variables <code>attributes</code> and <code>elements</code>. The elements in | |||
| the <code>attributes</code> collection may be accessed by the attribute | |||
| name. The <code>elements</code> collection is accessed by the nested element name. This will return | |||
| a list of all instances of the nested element. The instances in this list may be accessed by an | |||
| integer index.</p> | |||
| variables <code class="code">attributes</code> and <code class="code">elements</code>. The elements | |||
| in the <code class="code">attributes</code> collection may be accessed by the attribute | |||
| name. The <code class="code">elements</code> collection is accessed by the nested element name. This | |||
| will return a list of all instances of the nested element. The instances in this list may be | |||
| accessed by an integer index.</p> | |||
| <p><strong>Note</strong>: Ant will turn all attribute and element names into all lowercase names, so | |||
| even if you use <var>name</var>=<q>SomeAttribute</q>, you'll have to use <q>someattribute</q> to | |||
| retrieve the attribute's value from the <code>attributes</code> collection.</p> | |||
| retrieve the attribute's value from the <code class="code">attributes</code> collection.</p> | |||
| <p>The name <code>self</code> (<em>since Ant 1.6.3</em>) is a pre-defined reference to | |||
| <p>The name <code class="code">self</code> (<em>since Ant 1.6.3</em>) is a pre-defined reference to | |||
| the <code>scriptdef</code> task instance. It can be used for logging, or for integration with the | |||
| rest of Ant. the <code>self.text attribute</code> contains any nested text passed to the script</p> | |||
| rest of Ant. The <code class="code">self.text</code> attribute contains any nested text passed to | |||
| the script</p> | |||
| <p>If an attribute or element is not passed in, then <code>attributes.get()</code> | |||
| or <code>elements.get()</code> will return null. It is up to the script to perform any checks and | |||
| validation. <code>self.fail(String message)</code>can be used to raise | |||
| <p>If an attribute or element is not passed in, then <code class="code">attributes.get()</code> | |||
| or <code class="code">elements.get()</code> will return null. It is up to the script to perform any | |||
| checks and validation. <code class="code">self.fail(String message)</code>can be used to raise | |||
| a <code>BuildException</code>.</p> | |||
| <p>The name <code>project</code> is a pre-defined reference to the Ant Project. For more information | |||
| on writing scripts, please refer to the <a href="script.html"><code><script></code></a> | |||
| task.</p> | |||
| <p>The name <code class="code">project</code> is a pre-defined reference to the Ant Project. For | |||
| more information on writing scripts, please refer to | |||
| the <a href="script.html"><code><script></code></a> task.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -236,8 +237,8 @@ through them</p> | |||
| error. For example in the above script, removing the closing curly bracket would result in this | |||
| error</p> | |||
| <pre>build.xml:15: SyntaxError: missing } in compound | |||
| statement (scriptdef <code><scripttest2></code>; line 10)</pre> | |||
| <pre class="output">build.xml:15: SyntaxError: missing } in compound | |||
| statement (scriptdef <scripttest2>; line 10)</pre> | |||
| <p>Script errors are only detected when a <code>script</code> task is actually executed.</p> | |||
| <p>The next example does uses nested text in Jython. It also declares the script in a new xml | |||
| @@ -29,7 +29,7 @@ | |||
| <p>Signing a jar allows users to authenticate the publisher.</p> | |||
| <p>Signs JAR files with | |||
| the <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html" | |||
| target="_top"><code>jarsigner</code> command line tool</a>. It will take a named file in | |||
| target="_top"><kbd>jarsigner</kbd></a> command line tool. It will take a named file in | |||
| the <var>jar</var> attribute, and an optional <var>destDir</var> or <var>signedJar</var> | |||
| attribute. Nested paths are also supported; here only an (optional) <var>destDir</var> is | |||
| allowed. If a destination directory or explicit JAR file name is not provided, JARs are signed in | |||
| @@ -119,7 +119,7 @@ place.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>maxmemory</td> | |||
| <td>Specifies the maximum memory the <code>jarsigner</code> JVM will use. Specified in the style | |||
| <td>Specifies the maximum memory the <kbd>jarsigner</kbd> JVM will use. Specified in the style | |||
| of standard Java memory specs (e.g. <q>128m</q> = 128 MBytes)</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -150,9 +150,9 @@ place.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>executable</td> | |||
| <td>Specify a particular <code>jarsigner</code> executable to use in place of the default binary | |||
| <td>Specify a particular <kbd>jarsigner</kbd> executable to use in place of the default binary | |||
| (found in the same JDK as Apache Ant is running in).<br/>Must support the same command line | |||
| options as the Sun JDK <code>jarsigner</code> command. <em>since Ant 1.8.0</em>.</td> | |||
| options as the Sun JDK <kbd>jarsigner</kbd> command. <em>since Ant 1.8.0</em>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -250,7 +250,7 @@ the files will only be signed if they are not already signed.</p> | |||
| </signjar></pre> | |||
| <p>Sign all the JAR files in <samp>dist/**/*.jar</samp> using the digest algorithm SHA1 and the | |||
| signature algorithm MD5withRSA. This is especially useful when you want to use the JDK | |||
| 7 <code>jarsigner</code> (which uses SHA256 and SHA256withRSA as default) to create signed jars that | |||
| 7 <kbd>jarsigner</kbd> (which uses SHA256 and SHA256withRSA as default) to create signed jars that | |||
| will be deployed on platforms not supporting SHA256 and SHA256withRSA.</p> | |||
| <h3>About timestamp signing</h3> | |||
| @@ -45,10 +45,10 @@ target="_top">SourceGear's</a> <a href="https://sourcegear.com/sos/" target="_to | |||
| product. SourceOffSite is an add-on to Microsoft's VSS, that allows remote development teams and | |||
| tele-commuters that need fast and secure read/write access to a centralized SourceSafe database via | |||
| any TCP/IP connection. SOS provides Linux, Solaris & Windows | |||
| clients. The <code>org.apache.tools.ant.taskdefs.optional.sos</code> package consists of a simple | |||
| framework to support SOS functionality as well as some Apache Ant tasks encapsulating frequently | |||
| used SOS commands. Although it is possible to use these commands on the desktop, they were | |||
| primarily intended to be used by automated build systems. These tasks have been tested with | |||
| clients. The <code class="code">org.apache.tools.ant.taskdefs.optional.sos</code> package consists | |||
| of a simple framework to support SOS functionality as well as some Apache Ant tasks encapsulating | |||
| frequently used SOS commands. Although it is possible to use these commands on the desktop, they | |||
| were primarily intended to be used by automated build systems. These tasks have been tested with | |||
| SourceOffSite version 3.5.1 connecting to VisualSourceSafe 6.0. The tasks have been tested with | |||
| Linux, Solaris & Windows 2000.</p> | |||
| @@ -95,7 +95,7 @@ Linux, Solaris & Windows 2000.</p> | |||
| <tbody> | |||
| <tr> | |||
| <td>soscmd</td> | |||
| <td>Directory which contains <code>soscmd(.exe)</code></td> | |||
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> | |||
| <td>No; by default, the executable must be in the path</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -207,7 +207,7 @@ working directory.</p> | |||
| <tbody> | |||
| <tr> | |||
| <td>soscmd</td> | |||
| <td>Directory which contains <code>soscmd(.exe)</code></td> | |||
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> | |||
| <td>No; by default, the executable must be in the path</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -283,7 +283,7 @@ the <samp>$/SourceRoot/project1</samp> project with <q>test label</q>.</p> | |||
| <tbody> | |||
| <tr> | |||
| <td>soscmd</td> | |||
| <td>Directory which contains <code>soscmd(.exe)</code></td> | |||
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> | |||
| <td>No; by default, the executable must be in the path</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -391,7 +391,7 @@ be displayed on screen.</p> | |||
| <tbody> | |||
| <tr> | |||
| <td>soscmd</td> | |||
| <td>Directory which contains <code>soscmd(.exe)</code></td> | |||
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> | |||
| <td>No; by default, the executable must be in the path</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -36,7 +36,7 @@ specify.</p> | |||
| finishes. Therefore you have to place this task as top level or inside a target which is always | |||
| executed.</p> | |||
| <p>Unless you are running on Java 1.3 or later, you need the Java Media Framework on the classpath | |||
| (<code>javax.sound</code>).</p> | |||
| (<code class="code">javax.sound</code>).</p> | |||
| <h3>Parameters specified as nested elements</h3> | |||
| <h4>success</h4> | |||
| @@ -45,7 +45,7 @@ and transaction and fail task.</p> | |||
| proxy settings to route their JDBC operations to the database. <em>Since Apache Ant 1.7</em>, Ant | |||
| running on Java 5 or later defaults to <a href="../proxy.html">using the proxy settings of the | |||
| operating system</a>. Accordingly, the OS proxy settings need to be valid, or Ant's proxy support | |||
| disabled with <code>-noproxy</code> option.</p> | |||
| disabled with <kbd>-noproxy</kbd> option.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -173,7 +173,7 @@ JSCh earlier than 0.1.28.</p> | |||
| <tr> | |||
| <td>verbose</td> | |||
| <td>Determines whether <code>sshexec</code> outputs verbosely to the user.<br/> Similar output | |||
| is generated as the <code>ssh</code> commandline tool with the <code>-v</code> | |||
| is generated as the <kbd>ssh</kbd> command line tool with the <kbd>-v</kbd> | |||
| option. <em>since Ant 1.8.0</em></td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| @@ -196,7 +196,7 @@ JSCh earlier than 0.1.28.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>usepty</td> | |||
| <td>Whether to allocate a pseudo-tty (like <code>ssh -t</code>). <em>since Ant 1.8.3</em></td> | |||
| <td>Whether to allocate a pseudo-tty (like <kbd>ssh -t</kbd>). <em>since Ant 1.8.3</em></td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -261,9 +261,9 @@ command line. For example:</p> | |||
| password="${password}" | |||
| command="touch somefile"/></pre> | |||
| <p>Invoking Ant with the following command line:</p> | |||
| <pre>ant -Dusername=me -Dpassword=mypassword target1 target2</pre> | |||
| <pre class="input">ant -Dusername=me -Dpassword=mypassword target1 target2</pre> | |||
| <p>is slightly better, but the username/password is exposed to all users on an Unix system (via | |||
| the <code>ps</code> command). The best approach is to use the <code><input></code> task and/or | |||
| the <kbd>ps</kbd> command). The best approach is to use the <code><input></code> task and/or | |||
| retrieve the password from a (secured) <samp>.properties</samp> file.</p> | |||
| </body> | |||
| </html> | |||
| @@ -242,9 +242,9 @@ and include the password on the command line. For example:</p> | |||
| </sshsession></pre> | |||
| <p>Invoking Ant with the following command line:</p> | |||
| <pre>ant -Dusername=me -Dpassword=mypassword target1 target2</pre> | |||
| <pre class="input">ant -Dusername=me -Dpassword=mypassword target1 target2</pre> | |||
| <p>is slightly better, but the username/password is exposed to all users on an Unix system (via | |||
| the <code>ps</code> command). The best approach is to use the <code><input></code> task and/or | |||
| the <kbd>ps</kbd> command). The best approach is to use the <code><input></code> task and/or | |||
| retrieve the password from a (secured) <samp>.properties</samp> file.</p> | |||
| </body> | |||
| </html> | |||
| @@ -45,7 +45,7 @@ whether you want to use default exclusions or not. See the section | |||
| on <a href="../dirtasks.html#directorybasedtasks">directory based tasks</a>, on how the | |||
| inclusion/exclusion of files works, and how to write patterns.</p> | |||
| <p>This task forms an implicit <a href="../Types/fileset.html">FileSet</a> and supports all | |||
| attributes of <code><fileset></code> (<code>dir</code> becomes <code>basedir</code>) as well | |||
| attributes of <code><fileset></code> (<var>dir</var> becomes <var>basedir</var>) as well | |||
| as the nested <code><include></code>, <code><exclude></code> | |||
| and <code><patternset></code> elements.</p> | |||
| @@ -55,7 +55,7 @@ stylesheets to all files contain in them as well. Since the default <var>includ | |||
| is <code>**</code> this means it will apply the stylesheet to all files. If you specify | |||
| an <var>excludes</var> pattern, it may still work on the files matched by those patterns because the | |||
| parent directory has been matched. If this behavior is not what you want, set | |||
| the <var>scanincludedirectories</var> attribute to false.</p> | |||
| the <var>scanincludedirectories</var> attribute to <q>false</q>.</p> | |||
| <p><em>Since Ant 1.7</em>, this task supports | |||
| nested <a href="../Types/resources.html#collection">resource collections</a> in addition to (or | |||
| @@ -405,7 +405,7 @@ documentation of your processor. For example, in Xalan 2.x:</p> | |||
| <tr> | |||
| <td>classloaderforpath</td> | |||
| <td class="left">Value of the attribute is a classloader that uses the classpath specified by a | |||
| path that is the project reference with the given id. <em>since Ant 1.9.8</em></td> | |||
| path that is the project reference with the given <var>id</var>. <em>since Ant 1.9.8</em></td> | |||
| </tr> | |||
| </table> | |||
| </blockquote> | |||
| @@ -168,7 +168,7 @@ whose dependencies are the targets so specified, in the order specified.</p> | |||
| </subant> | |||
| </target> | |||
| </project></pre> | |||
| <p>this snippet build file will run <code>ant</code> in each subdirectory of the project directory, | |||
| <p>this snippet build file will run <kbd>ant</kbd> in each subdirectory of the project directory, | |||
| where a file called <samp>build.xml</samp> can be found. The property <code>build.dir</code> will | |||
| have the value <q>subant1.build</q> in the Ant projects called by <code>subant</code>.</p> | |||
| <pre> | |||
| @@ -179,7 +179,7 @@ have the value <q>subant1.build</q> in the Ant projects called by <code>subant</ | |||
| </propertyset> | |||
| <fileset dir="." includes="*/build.xml"/> | |||
| </subant></pre> | |||
| <p>this snippet build file will run <code>ant</code> in each subdirectory of the project directory, | |||
| <p>this snippet build file will run <kbd>ant</kbd> in each subdirectory of the project directory, | |||
| where a file called <samp>build.xml</samp> can be found. All properties whose name starts | |||
| with <q>foo</q> are passed, their names are changed to start with <q>bar</q> instead</p> | |||
| <pre> | |||
| @@ -111,14 +111,14 @@ named <samp>dir.links</samp></p> | |||
| <p><strong>Java 1.2 and earlier</strong>: Due to limitations on executing system level commands in | |||
| Java versions earlier than 1.3 this task may have difficulty operating with a relative path | |||
| in <code>ANT_HOME</code>. The typical symptom is an IOException where Apache Ant can't | |||
| in <code>ANT_HOME</code>. The typical symptom is an <code>IOException</code> where Apache Ant can't | |||
| find <samp>/some/working/directory${ANT_HOME}/bin/antRun</samp> or something similar. The workaround | |||
| is to change your <code>ANT_HOME</code> environment variable to an absolute path, which will remove | |||
| the <samp>/some/working/directory</samp> portion of the above path and allow Ant to find the correct | |||
| command line execution script.</p> | |||
| <p><strong>Note</strong>: <em>Since Ant 1.10.2</em>, this task relies on the symbolic link support | |||
| introduced in Java 7 through the <code>java.nio.file.Files</code> APIs</p> | |||
| introduced in Java 7 through the <code class="code">java.nio.file.Files</code> APIs</p> | |||
| </body> | |||
| </html> | |||
| @@ -40,27 +40,28 @@ access mode, username and groupname to be applied to the tar entries. This is us | |||
| when preparing archives for Unix systems where some files need to have execute permission. By | |||
| default this task will use Unix permissions of 644 for files and 755 for directories.</p> | |||
| <p>Early versions of <code>tar</code> utility did not support paths longer than 100 characters. Over | |||
| <p>Early versions of <kbd>tar</kbd> utility did not support paths longer than 100 characters. Over | |||
| time several incompatible extensions have been developed until a new POSIX standard was created that | |||
| added so called PAX extension headers (as the <code>pax</code> utility first introduced them) that | |||
| among another things addressed file names longer than 100 characters. All modern implementations of | |||
| tar support PAX extension headers.</p> | |||
| <p>Ant's tar support predates the standard with PAX extension headers, it supports different | |||
| dialects that can be enabled using the <var>longfile</var> attribute. If the <var>longfile</var> | |||
| attribute is set to <q>fail</q>, any long paths will cause the tar task to fail. If | |||
| the <var>longfile</var> attribute is set to <q>truncate</q>, any long paths will be truncated to the | |||
| 100 character maximum length prior to adding to the archive. If the value of the <var>longfile</var> | |||
| attribute is set to <q>omit</q> 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.</p> | |||
| added so called PAX extension headers (as the <kbd>pax</kbd> utility first introduced them) that | |||
| among another things addressed file names longer than 100 characters. All modern implementations | |||
| of <kbd>tar</kbd> support PAX extension headers.</p> | |||
| <p>Ant's <kbd>tar</kbd> support predates the standard with PAX extension headers, it supports | |||
| different dialects that can be enabled using the <var>longfile</var> attribute. If | |||
| the <var>longfile</var> attribute is set to <q>fail</q>, any long paths will cause | |||
| the <code>tar</code> task to fail. If the <var>longfile</var> attribute is set to <q>truncate</q>, | |||
| any long paths will be truncated to the 100 character maximum length prior to adding to the | |||
| archive. If the value of the <var>longfile</var> attribute is set to <q>omit</q> 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 <kbd>tar</kbd>.</p> | |||
| <p>If the loss of path or file information is not acceptable, and it rarely is, <var>longfile</var> | |||
| may be set to the value <q>gnu</q> or <q>posix</q>. With <q>posix</q> Ant will add PAX extension | |||
| headers, with <q>gnu</q> it adds GNU tar specific extensions that newer versions of GNU tar | |||
| call <q>oldgnu</q>. GNU tar still creates these extensions by default but supports PAX extension | |||
| headers as well. Either choice will produce a tar file which can have arbitrary length paths. Note | |||
| however, that the resulting archive will only be able to be untarred with tar tools that support the | |||
| chosen format.</p> | |||
| headers, with <q>gnu</q> it adds GNU <kbd>tar</kbd> specific extensions that newer versions of | |||
| GNU <kbd>tar</kbd> call <q>oldgnu</q>. GNU <kbd>tar</kbd> still creates these extensions by default | |||
| but supports PAX extension headers as well. Either choice will produce a tar file which can have | |||
| arbitrary length paths. Note however, that the resulting archive will only be able to be untarred | |||
| with <kbd>tar</kbd> tools that support the chosen format.</p> | |||
| <p>The default for the <var>longfile</var> attribute is <q>warn</q> which behaves just like | |||
| the <q>gnu</q> option except that it produces a warning for each filepath encountered that does not | |||
| @@ -26,8 +26,8 @@ | |||
| <h2 id="telnet">Telnet</h2> | |||
| <h3>Description</h3> | |||
| <q>Task to automate a remote telnet session. The task uses nested <code><read></code> to | |||
| indicate strings to wait for, and <code><write></code> tags to specify text to send.</q> | |||
| <p>Task to automate a remote telnet session. The task uses nested <code><read></code> to | |||
| indicate strings to wait for, and <code><write></code> tags to specify text to send.</p> | |||
| <p>If you do specify a userid and password, the system will assume a common Unix prompt to wait | |||
| on. This behavior can be easily overridden.</p> | |||
| @@ -115,7 +115,7 @@ of <q>ogin:</q> for the userid, and a prompt of <q>assword:</q> for the password | |||
| </telnet></pre> | |||
| <p>A timeout can be specified at the <code><telnet></code> level or at | |||
| the <code><read></code> level. This will connect, issue a <code>sleep</code> command that is | |||
| the <code><read></code> level. This will connect, issue a <kbd>sleep</kbd> command that is | |||
| suppressed from displaying and wait 10 seconds before quitting.</p> | |||
| <pre> | |||
| @@ -26,8 +26,8 @@ | |||
| <h2>Tempfile Task</h2> | |||
| <h3 id="description">Description</h3> | |||
| <p>This task sets a property to the name of a temporary file. | |||
| Unlike <code>java.io.File.createTempFile</code>, this task does not actually create the temporary | |||
| file, but it does guarantee that the file did not exist when the task was executed.</p> | |||
| Unlike <code class="code">java.io.File.createTempFile</code>, this task does not actually create the | |||
| temporary file, but it does guarantee that the file did not exist when the task was executed.</p> | |||
| <h3 id="attributes">Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -33,10 +33,10 @@ on <a href="../Types/resources.html">resources</a> and resource collections (whi | |||
| directories). Prior to Apache Ant 1.7 only FileSet or <a href="../Types/filelist.html">Filelist</a> | |||
| (<em>since Ant 1.6</em>) were supported.</p> | |||
| <p>Ant uses the API of <code>java.io.File</code> to set the last modification time which has some | |||
| limitations. For example, the timestamp granularity depends on the operating system and sometimes | |||
| the operating system may allow a granularity smaller than milliseconds. If you need more control | |||
| you have to fall back to the <code><exec></code> task and native commands.</p> | |||
| <p>Ant uses the API of <code class="code">java.io.File</code> to set the last modification time | |||
| which has some limitations. For example, the timestamp granularity depends on the operating system | |||
| and sometimes the operating system may allow a granularity smaller than milliseconds. If you need | |||
| more control you have to fall back to the <code><exec></code> task and native commands.</p> | |||
| <p><em>Since Ant 1.8.2</em>, a warning message is logged upon failure to change the file | |||
| modification time. This will happen if you try to change the modification time of a file you do not | |||
| @@ -90,8 +90,9 @@ own on many Unix systems, for example.</p> | |||
| <p>You can use any number of nested resource collection elements to define the resources for this | |||
| task and refer to resources defined elsewhere. <strong>Note</strong>: resources passed to this task | |||
| must implement the <code>org.apache.tools.ant.types.resources.Touchable</code> interface, this is | |||
| true for all filesystem-based resources like those returned by path, fileset ot filelist.</p> | |||
| must implement the <code class="code">org.apache.tools.ant.types.resources.Touchable</code> | |||
| interface, this is true for all filesystem-based resources like those returned by path, fileset ot | |||
| filelist.</p> | |||
| <p>For backwards compatibility directories matched by nested filesets will be "touched" as well, use | |||
| a <var>type</var> selector to suppress this. This only applies to filesets nested into the task | |||
| @@ -103,7 +104,7 @@ Files specified via nested <code>fileset</code>s, <code>filelist</code>s, or the | |||
| attribute are mapped using the specified mapper. For each file mapped, the resulting files are | |||
| touched. If no time has been specified and the original file exists its timestamp will be used. If | |||
| no time has been specified and the original file does not exist the current time is used. <em>Since | |||
| Ant 1.8</em>, the task settings (<var>millis</var>, and <var>datetime</var>) have priority over the | |||
| Ant 1.8</em>, the task settings (<var>millis</var> and <var>datetime</var>) have priority over the | |||
| timestamp of the original file.</p> | |||
| <h3>Examples</h3> | |||
| @@ -54,7 +54,7 @@ bundle files can be specified.</p> | |||
| If <var>forceoverwrite</var> is <q>false</q>, the destination file is overwritten only if either the | |||
| source file or any of the files that make up the bundle have been modified after the destination | |||
| file was last modified.</p> | |||
| <p><em>Since Apache Ant 1.6</em>:<br/>Line endings of source files are preserved in the translated | |||
| <p><em>Since Apache Ant 1.6</em> line endings of source files are preserved in the translated | |||
| files.</p> | |||
| <p><a href="../Types/fileset.html">FileSet</a>s are used to select files to translate.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -28,8 +28,8 @@ | |||
| <p><em>Since Apache Ant 1.7.1</em></p> | |||
| <h3>Description</h3> | |||
| <p>Set the length of one or more files, as the intermittently available <code>truncate</code> Unix | |||
| utility/function. In addition to working with a single file, this Task can also work | |||
| <p>Set the length of one or more files, as the <code>truncate</code> Unix function or GNU | |||
| utility. In addition to working with a single file, this Task can also work | |||
| on <a href="../Types/resources.html">resources</a> and resource collections.</p> | |||
| <h3>Parameters</h3> | |||
| @@ -28,8 +28,8 @@ | |||
| <h3>Description</h3> | |||
| <p>Adds a task or a data type definition to the current project such that this new type or task can | |||
| be used in the current project.</p> | |||
| <p>A Task is any class that extends <code>org.apache.tools.ant.Task</code> or can be adapted as a | |||
| Task using an adapter class.</p> | |||
| <p>A Task is any class that extends <code class="code">org.apache.tools.ant.Task</code> or can be adapted | |||
| as a Task using an adapter class.</p> | |||
| <p>Data types are things like <a href="../using.html#path">paths</a> | |||
| or <a href="../Types/fileset.html">filesets</a> that can be defined at the project level and | |||
| referenced via their <var>id</var> attribute. Custom data types usually need custom tasks to put | |||
| @@ -159,9 +159,10 @@ structure</a> and can also be set via a nested <code>classpath</code> element.</ | |||
| type.</p> | |||
| <p>Assuming a class <code>org.acme.ant.RunnableAdapter</code> that extends Task and | |||
| implements <code>org.apache.tools.ant.TypeAdapter</code>, and in the execute method | |||
| invokes <code>run()</code> on the proxied object, one may use a Runnable class as an Ant task. The | |||
| following fragment defines a task called <code>runclock</code>.</p> | |||
| implements <code class="code">org.apache.tools.ant.TypeAdapter</code>, and in | |||
| the <code class="code">execute()</code> method invokes <code class="code">run()</code> on the | |||
| proxied object, one may use a <code>Runnable</code> class as an Ant task. The following fragment | |||
| defines a task called <code>runclock</code>.</p> | |||
| <pre> | |||
| <typedef name="runclock" | |||
| classname="com.acme.ant.RunClock" | |||
| @@ -191,7 +192,7 @@ important:</p> | |||
| classpath="path/to/ant-contrib.jar"/></pre> | |||
| <p>Here the namespace declaration <code>xmlns:antcontrib="antlib:net.sf.antcontrib"</code> allows | |||
| tasks and types of the AntContrib Antlib to be used with the <samp>antcontrib</samp> prefix | |||
| tasks and types of the Ant-Contrib Antlib to be used with the <samp>antcontrib</samp> prefix | |||
| like <code><antcontrib:if></code>. The normal rules of XML namespaces apply and you can | |||
| declare the prefix at any element to make it usable for the element it is declared on as well as all | |||
| its child elements.</p> | |||
| @@ -26,8 +26,10 @@ | |||
| <h2 id="verifyjar">VerifyJar</h2> | |||
| <h3>Description</h3> | |||
| <p>Verifies JAR files with the <code>jarsigner</code> command line tool. It will take a named file | |||
| in the <var>jar</var> attribute. Nested paths are also supported.</p> | |||
| <p>Verifies JAR files with | |||
| the <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html" | |||
| target="_top"><kbd>jarsigner</kbd></a> command line tool. It will take a named file in | |||
| the <var>jar</var> attribute. Nested paths are also supported.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| @@ -83,15 +85,15 @@ in the <var>jar</var> attribute. Nested paths are also supported.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>maxmemory</td> | |||
| <td>Specifies the maximum memory the <code>jarsigner</code> JVM will use. Specified in the style | |||
| <td>Specifies the maximum memory the <kbd>jarsigner</kbd> JVM will use. Specified in the style | |||
| of standard Java memory specs (e.g. <q>128m</q> = 128 MBytes)</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>executable</td> | |||
| <td>Specify a particular <code>jarsigner</code> executable to use in place of the default binary | |||
| <td>Specify a particular <kbd>jarsigner</kbd> executable to use in place of the default binary | |||
| (found in the same JDK as Apache Ant is running in).<br/> Must support the same command line | |||
| options as the Sun JDK <code>jarsigner</code> command. <em>since Ant 1.8.0</em>.</td> | |||
| options as the Sun JDK <kbd>jarsigner</kbd> command. <em>since Ant 1.8.0</em>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -46,13 +46,13 @@ | |||
| <p>These tasks provide an interface to | |||
| the <a href="https://msdn.microsoft.com/en-us/library/3h0544kx(v=vs.80).aspx" | |||
| target="_top">Microsoft Visual SourceSafe</a> SCM. | |||
| The <code>org.apache.tools.ant.taskdefs.optional.vss</code> package consists of a simple framework | |||
| to support VSS functionality as well as some Apache Ant tasks encapsulating frequently used VSS | |||
| commands. Although it is possible to use these commands on the desktop, they were primarily | |||
| intended to be used by automated build systems.</p> | |||
| <p>If you get a <code>CreateProcess error=2</code> when running these, it means | |||
| that <code>ss.exe</code> was not found. Check to see if you can run it from the command | |||
| line—you may need to alter your path, or set the <var>ssdir</var> property.</p> | |||
| The <code class="code">org.apache.tools.ant.taskdefs.optional.vss</code> package consists of a | |||
| simple framework to support VSS functionality as well as some Apache Ant tasks encapsulating | |||
| frequently used VSS commands. Although it is possible to use these commands on the desktop, they | |||
| were primarily intended to be used by automated build systems.</p> | |||
| <p>If you get a <code class="output">CreateProcess error=2</code> when running these, it means | |||
| that <kbd>ss.exe</kbd> was not found. Check to see if you can run it from the command line—you | |||
| may need to alter your path, or set the <var>ssdir</var> property.</p> | |||
| <h2 id="tasks">The Tasks</h2> | |||
| <table> | |||
| @@ -127,7 +127,7 @@ order version, date, label.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -168,7 +168,7 @@ order version, date, label.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>autoresponse</td> | |||
| <td>What to respond with (sets the <code>-I</code> option). By default, <code>-I-</code> is | |||
| <td>What to respond with (sets the <kbd>-I</kbd> option). By default, <kbd>-I-</kbd> is | |||
| used; values of <q>Y</q> or <q>N</q> will be appended to this.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -180,7 +180,7 @@ order version, date, label.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q></td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q></td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -233,7 +233,7 @@ writable.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -259,13 +259,13 @@ writable.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>autoresponse</td> | |||
| <td>What to respond with (sets the <code>-I</code> option). By default, <code>-I-</code> is | |||
| <td>What to respond with (sets the <kbd>-I</kbd> option). By default, <kbd>-I-</kbd> is | |||
| used; values of <q>Y</q> or <q>N</q> will be appended to this.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q>.</td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q>.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -314,7 +314,7 @@ Task to perform HISTORY commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -376,7 +376,7 @@ Task to perform HISTORY commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q></td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q></td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -451,7 +451,7 @@ specified according to your locale).</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -481,7 +481,7 @@ specified according to your locale).</p> | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q>.</td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q>.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -531,7 +531,7 @@ order <var>version</var>, <var>date</var>, <var>label</var>.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -570,7 +570,7 @@ order <var>version</var>, <var>date</var>, <var>label</var>.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q>.</td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q>.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -623,7 +623,7 @@ Task to perform ADD commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -653,7 +653,7 @@ Task to perform ADD commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q>.</td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q>.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -694,7 +694,7 @@ Task to perform ADD commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -704,7 +704,7 @@ Task to perform ADD commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if <code>ss.exe</code> exits with a return code <q>100</q>.</td> | |||
| <td>Stop the build process if <kbd>ss.exe</kbd> exits with a return code <q>100</q>.</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| </table> | |||
| @@ -740,7 +740,7 @@ Task to perform ADD commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>ssdir</td> | |||
| <td>directory where <code>ss.exe</code> resides.</td> | |||
| <td>directory where <kbd>ss.exe</kbd> resides.</td> | |||
| <td>No; by default expected to be in <code>PATH</code></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -755,7 +755,7 @@ Task to perform ADD commands to Microsoft Visual SourceSafe. | |||
| </tr> | |||
| <tr> | |||
| <td>autoresponse</td> | |||
| <td>What to respond with (sets the <code>-I</code> option). By default, <code>-I-</code> is | |||
| <td>What to respond with (sets the <kbd>-I</kbd> option). By default, <kbd>-I-</kbd> is | |||
| used; values of <q>Y</q> or <q>N</q> will be appended to this.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| @@ -118,10 +118,10 @@ perform entity resolution.</p> | |||
| <h4>attribute</h4> | |||
| <p>The <code><attribute></code> element is used to set parser features.</p> | |||
| <p>Features usable with the Xerces parser are defined | |||
| here: <a href="https://xml.apache.org/xerces-j/features.html" target="_top">Setting features</a></p> | |||
| here: <a href="https://xml.apache.org/xerces-j/features.html" target="_top">Setting Features</a></p> | |||
| <p>SAX features are defined | |||
| here: <a href="http://www.saxproject.org/apidoc/org/xml/sax/package-summary.html#package_description" | |||
| target="_top"><code>http://xml.org/sax/features/</code></a></p> | |||
| target="_top">SAX2 Standard Feature Flags</a></p> | |||
| <table class="attr"> | |||
| <tr> | |||
| <th>Attribute</th> | |||
| @@ -212,7 +212,7 @@ task is better for validating W3C XML Schemas, as it extends this task with the | |||
| automatically enabled, and makes it easy to add a list of schema files/URLs to act as sources.</p> | |||
| <pre> | |||
| <!-- Converts path to URL format --> | |||
| <!-- Convert path to URL format --> | |||
| <pathconvert dirsep="/" property="xsd.file"> | |||
| <path> | |||
| <pathelement location="xml/doc.xsd"/> | |||
| @@ -82,8 +82,8 @@ see <a href="#encoding">below</a></p> | |||
| (see description of the <var>filemode</var> and <var>dirmode</var> attributes | |||
| for <a href="../Types/zipfileset.html"><zipfileset></a>). Unfortunately there is no portable | |||
| way to store these permissions. Ant uses the algorithm used by <a href="http://www.info-zip.org" | |||
| target="_top">Info-Zip's</a> implementation of the <code>zip</code> and <code>unzip</code> | |||
| commands—these are the default versions of <code>zip</code> and <code>unzip</code> for many | |||
| target="_top">Info-Zip's</a> implementation of the <kbd>zip</kbd> and <kbd>unzip</kbd> | |||
| commands—these are the default versions of <kbd>zip</kbd> and <kbd>unzip</kbd> for many | |||
| Unix(-like) systems.</p> | |||
| <p><strong>Please note that the zip format allows multiple files of the same fully-qualified name to | |||
| @@ -264,8 +264,8 @@ extract an Ant generated ZIP archive.</p> | |||
| sufficient for many international character sets.</p> | |||
| <p>Over time different archivers have chosen different ways to work around the | |||
| limitation—the <code>java.util.zip</code> packages simply uses UTF-8 as its encoding for | |||
| example.</p> | |||
| limitation—the <code class="code">java.util.zip</code> packages simply uses UTF-8 as its | |||
| encoding for example.</p> | |||
| <p>Ant has been offering the <q>encoding</q> attribute of the <code>zip</code> | |||
| and <code>unzip</code> task as a way to explicitly specify the encoding to use (or expect) <em>since | |||
| @@ -307,13 +307,13 @@ ZIP archives. Below are some test results which may be superseded with later ve | |||
| tool.</p> | |||
| <ul> | |||
| <li>The <code>java.util.zip</code> package used by the <code>jar</code> executable or to read jars | |||
| from your <code>CLASSPATH</code> reads and writes UTF-8 names, it doesn't set or recognize any | |||
| flags or unicode extra fields.</li> | |||
| <li>Since Java 7, <code>java.util.zip</code> writes UTF-8 by default and uses the language | |||
| encoding flag. It is possible to specify a different encoding when reading/writing ZIPs via new | |||
| constructors. The package now recognizes the language encoding flag when reading and ignores | |||
| the Unicode extra fields.</li> | |||
| <li>The <code class="code">java.util.zip</code> package used by the <kbd>jar</kbd> executable or | |||
| to read jars from your <code>CLASSPATH</code> reads and writes UTF-8 names, it doesn't set or | |||
| recognize any flags or unicode extra fields.</li> | |||
| <li>Since Java 7, <code class="code">java.util.zip</code> writes UTF-8 by default and uses the | |||
| language encoding flag. It is possible to specify a different encoding when reading/writing | |||
| ZIPs via new constructors. The package now recognizes the language encoding flag when reading | |||
| and ignores the Unicode extra fields.</li> | |||
| <li>7Zip writes CodePage 437 by default but uses UTF-8 and the language encoding flag when writing | |||
| entries that cannot be encoded as CodePage 437 (similar to the <code>zip</code> task | |||
| with <var>fallbacktoUTF8</var> set to <q>true</q>). It recognizes the language encoding flag | |||
| @@ -332,16 +332,16 @@ tool.</p> | |||
| <p>So, what to do?</p> | |||
| <p>If you are creating jars, then <code>java.util.zip</code> is your main consumer. We recommend | |||
| you set the encoding to UTF-8 and keep the language encoding flag enabled. The flag won't help or | |||
| hurt <code>java.util.zip</code> prior to Java 7 but archivers that support it will show the correct | |||
| file names.</p> | |||
| <p>If you are creating jars, then <code class="code">java.util.zip</code> is your main consumer. We | |||
| recommend you set the encoding to UTF-8 and keep the language encoding flag enabled. The flag won't | |||
| help or hurt <code class="code">java.util.zip</code> prior to Java 7 but archivers that support it | |||
| will show the correct file names.</p> | |||
| <p>For maximum interoparability it is probably best to set the encoding to UTF-8, enable the | |||
| language encoding flag and create Unicode extra fields when writing ZIPs. Such archives should be | |||
| extracted correctly by <code>java.util.zip</code>, 7Zip, WinZIP, PKWARE tools and most likely | |||
| InfoZIP tools. They will be unusable with Windows' "compressed folders" feature and bigger than | |||
| archives without the Unicode extra fields, though.</p> | |||
| extracted correctly by <code class="code">java.util.zip</code>, 7Zip, WinZIP, PKWARE tools and most | |||
| likely InfoZIP tools. They will be unusable with Windows' "compressed folders" feature and bigger | |||
| than archives without the Unicode extra fields, though.</p> | |||
| <p>If Windows' "compressed folders" is your primary consumer, then your best option is to explicitly | |||
| set the encoding to the target platform. You may want to enable creation of Unicode extra fields so | |||
| @@ -376,9 +376,9 @@ the <code>zip</code> family of tasks. It supports three values: | |||
| limits of traditional zip files but don't want to waste too much space (the Zip64 extensions take up | |||
| extra space). Unfortunately some ZIP implementations don't understand Zip64 extra fields or fail to | |||
| parse archives with extra fields in local file headers that are not present in the central | |||
| directory, one such implementation is the <code>java.util.zip</code> package of Java 5, that's why | |||
| the <code>jar</code> tasks default to <q>never</q>. Archives created with <q>as-needed</q> can be | |||
| read without problems with Java 6 and later.</p> | |||
| directory, one such implementation is the <code class="code">java.util.zip</code> package of Java 5, | |||
| that's why the <code>jar</code> tasks default to <q>never</q>. Archives created | |||
| with <q>as-needed</q> can be read without problems with Java 6 and later.</p> | |||
| <h3>Parameters specified as nested elements</h3> | |||
| @@ -27,10 +27,10 @@ | |||
| <h3>Description</h3> | |||
| <p> | |||
| An antlib file is an xml file with a root element of <code>antlib</code>. Antlib's | |||
| elements are Apache Ant definition | |||
| tasks—like <a href="../Tasks/taskdef.html">Taskdef</a> or any Ant task that | |||
| extends <code>org.apache.tools.ant.taskdefs.AntlibDefinition</code>. | |||
| An antlib file is an xml file with a root element of <code>antlib</code>. Antlib's elements | |||
| are Apache Ant definition tasks—like <a href="../Tasks/taskdef.html">Taskdef</a> or any | |||
| Ant task that | |||
| extends <code class="code">org.apache.tools.ant.taskdefs.AntlibDefinition</code>. | |||
| </p> | |||
| <p> | |||
| The current set of declarations bundled with Ant that do this are: | |||
| @@ -77,11 +77,11 @@ may be used | |||
| <h4>RootFileSet</h4> | |||
| <p> | |||
| A root fileset is used to add a set of root classes from a fileset. In this case the entries in | |||
| the fileset are expected to be Java class files. The name of the Java class is determined by the | |||
| A root fileset is used to add a set of root classes from a fileset. In this case the entries in the | |||
| fileset are expected to be Java class files. The name of the Java class is determined by the | |||
| relative location of the classfile in the fileset. So, the | |||
| file <code>org/apache/tools/ant/Project.class</code> corresponds to the Java | |||
| class <code>org.apache.tools.ant.Project</code>.</p> | |||
| class <code class="code">org.apache.tools.ant.Project</code>.</p> | |||
| <h4>Examples</h4> | |||
| <pre> | |||
| @@ -90,8 +90,8 @@ class <code>org.apache.tools.ant.Project</code>.</p> | |||
| </classfileset></pre> | |||
| <p> | |||
| This example creates a fileset containing all the class files upon which | |||
| the <code>org.apache.tools.ant.Project</code> class depends. This fileset could then be used to | |||
| create a jar. | |||
| the <code class="code">org.apache.tools.ant.Project</code> class depends. This fileset could then be | |||
| used to create a jar. | |||
| </p> | |||
| <pre> | |||
| @@ -104,8 +104,9 @@ create a jar. | |||
| <rootfileset dir="${classes.dir}" includes="org/apache/tools/ant/Project*.class"/> | |||
| </classfileset></pre> | |||
| <p> | |||
| This example constructs the classfileset using all the class with names starting with Project in | |||
| the <samp>org.apache.tools.ant</samp> package. | |||
| This example constructs the classfileset using all the class with names starting | |||
| with <code class="code">Project</code> in the <code class="code">org.apache.tools.ant</code> | |||
| package. | |||
| </p> | |||
| </body> | |||
| @@ -24,18 +24,16 @@ | |||
| <h2>Custom Components</h2> | |||
| <h3>Overview</h3> | |||
| <p> | |||
| Custom components are conditions, selectors, filters and other objects | |||
| that are defined outside Apache Ant core. | |||
| Custom components are conditions, selectors, filters and other objects that are defined | |||
| outside Apache Ant core. | |||
| </p> | |||
| <p> | |||
| In Ant 1.6 custom conditions, selectors and filters has been | |||
| overhauled. | |||
| In Ant 1.6 custom conditions, selectors and filters has been overhauled. | |||
| </p> | |||
| <p> | |||
| It is now possible to define custom conditions, selectors and filters | |||
| that behave like Ant Core components. This is achieved by allowing | |||
| datatypes defined in build scripts to be used as custom components if | |||
| the class of the datatype is compatible, or has been adapted by an | |||
| It is now possible to define custom conditions, selectors and filters that behave like Ant | |||
| Core components. This is achieved by allowing datatypes defined in build scripts to be used | |||
| as custom components if the class of the datatype is compatible, or has been adapted by an | |||
| adapter class. | |||
| </p> | |||
| <p> | |||
| @@ -43,15 +41,13 @@ | |||
| </p> | |||
| <h3>Definition and Use</h3> | |||
| <p> | |||
| A custom component is a normal Java class that implements a particular | |||
| interface or extends a particular class, or has been adapted to the | |||
| interface or class. | |||
| A custom component is a normal Java class that implements a particular interface or extends a | |||
| particular class, or has been adapted to the interface or class. | |||
| </p> | |||
| <p> | |||
| It is exactly like writing | |||
| a <a href="../develop.html#writingowntask">custom task</a>. One | |||
| defines attributes and nested elements by writing <em>setter</em> | |||
| methods and <em>add</em> methods. | |||
| It is exactly like writing a <a href="../develop.html#writingowntask">custom task</a>. One | |||
| defines attributes and nested elements by writing <em>setter</em> methods and <em>add</em> | |||
| methods. | |||
| </p> | |||
| <p> | |||
| After the class has been written, it is added to the ant system by | |||
| @@ -60,9 +56,9 @@ | |||
| <h3 id="customconditions">Custom Conditions</h3> | |||
| <p> | |||
| Custom conditions are datatypes that | |||
| implement <code>org.apache.tools.ant.taskdefs.condition.Condition</code>. | |||
| For example a custom condition that returns true if a string is all | |||
| upper case could be written as: | |||
| implement <code class="code">org.apache.tools.ant.taskdefs.condition.Condition</code>. For | |||
| example a custom condition that returns true if a string is all upper case could be written | |||
| as: | |||
| </p> | |||
| <pre> | |||
| package com.mydomain; | |||
| @@ -104,13 +100,12 @@ public class AllUpperCaseCondition implements Condition { | |||
| <h3 id="customselectors">Custom Selectors</h3> | |||
| <p> | |||
| Custom selectors are datatypes that | |||
| implement <code>org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| implement <code class="code">org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| </p> | |||
| <p> | |||
| There is only one method required, <code>public boolean | |||
| isSelected(File basedir, String filename, File file)</code>. It | |||
| returns true or false depending on whether the given file should be | |||
| selected or not. | |||
| There is only one method required, <code class="code">public boolean isSelected(File basedir, | |||
| String filename, File file)</code>. It returns true or false depending on whether the given | |||
| file should be selected or not. | |||
| </p> | |||
| <p> | |||
| An example of a custom selection that selects filenames ending | |||
| @@ -134,8 +129,7 @@ public class JavaSelector implements FileSelector { | |||
| classname="com.mydomain.JavaSelector" | |||
| classpath="${mydomain.classes}"/></pre> | |||
| <p> | |||
| This selector can now be used wherever a Core Ant selector is used, | |||
| for example: | |||
| This selector can now be used wherever a Core Ant selector is used, for example: | |||
| </p> | |||
| <pre> | |||
| <copy todir="to"> | |||
| @@ -144,34 +138,30 @@ public class JavaSelector implements FileSelector { | |||
| </fileset> | |||
| </copy></pre> | |||
| <p> | |||
| One may | |||
| use <code>org.apache.tools.ant.types.selectors.BaseSelector</code>, a | |||
| convenience class that provides reasonable default behaviour. It has | |||
| some predefined behaviours you can take advantage of. Any time you | |||
| encounter a problem when setting attributes or adding tags, you can | |||
| call <code>setError(String errmsg)</code> and the class will know that | |||
| there is a problem. Then, at the top of your <code>isSelected()</code> | |||
| method call <code>validate()</code> and a BuildException will be | |||
| thrown with the contents of your error | |||
| message. The <code>validate()</code> method also gives you a last | |||
| chance to check your settings for consistency because it | |||
| calls <code>verifySettings()</code>. Override this method and | |||
| call <code>setError()</code> within it if you detect any problems in | |||
| how your selector is set up. | |||
| One may use <code class="code">org.apache.tools.ant.types.selectors.BaseSelector</code>, a | |||
| convenience class that provides reasonable default behaviour. It has some predefined | |||
| behaviours you can take advantage of. Any time you encounter a problem when setting attributes | |||
| or adding tags, you can call <code class="code">setError(String errmsg)</code> and the class | |||
| will know that there is a problem. Then, at the top of | |||
| your <code class="code">isSelected()</code> method call <code class="code">validate()</code> | |||
| and a <code>BuildException</code> will be thrown with the contents of your error | |||
| message. The <code class="code">validate()</code> method also gives you a last chance to check | |||
| your settings for consistency because it | |||
| calls <code class="code">verifySettings()</code>. Override this method and | |||
| call <code class="code">setError()</code> within it if you detect any problems in how your | |||
| selector is set up. | |||
| </p> | |||
| <p> | |||
| To write custom selector containers one should | |||
| extend <code>org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>. | |||
| Implement the <code>public boolean isSelected(File baseDir, String | |||
| filename, File file)</code> method to do the right thing. Chances are | |||
| you'll want to iterate over the selectors under you, so | |||
| use <code>selectorElements()</code> to get an iterator that will do | |||
| that. | |||
| extend <code class="code">org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>. | |||
| Implement the <code class="code">public boolean isSelected(File baseDir, String filename, File | |||
| file)</code> method to do the right thing. Chances are you'll want to iterate over the | |||
| selectors under you, so use <code class="code">selectorElements()</code> to get an iterator | |||
| that will do that. | |||
| </p> | |||
| <p> | |||
| For example to create a selector container that will select files if a | |||
| certain number of contained selectors select, one could write a | |||
| selector as follows: | |||
| For example to create a selector container that will select files if a certain number of | |||
| contained selectors select, one could write a selector as follows: | |||
| </p> | |||
| <pre> | |||
| public class MatchNumberSelectors extends BaseSelectorContainer { | |||
| @@ -214,28 +204,24 @@ public class MatchNumberSelectors extends BaseSelectorContainer { | |||
| <em>The custom selector</em> | |||
| </p> | |||
| <p> | |||
| The custom selector was the pre Ant 1.6 way of defining custom | |||
| selectors. This method is still supported for backward compatibility. | |||
| The custom selector was the pre Ant 1.6 way of defining custom selectors. This method is | |||
| still supported for backward compatibility. | |||
| </p> | |||
| <p> | |||
| You can write your own selectors and use them within the selector | |||
| containers by specifying them within the <code><custom></code> | |||
| tag. | |||
| You can write your own selectors and use them within the selector containers by specifying | |||
| them within the <code><custom></code> tag. | |||
| </p> | |||
| <p> | |||
| To create a new Custom Selector, you have to create a class that | |||
| implements <code>org.apache.tools.ant.types.selectors.ExtendFileSelector</code>. | |||
| implements <code class="code">org.apache.tools.ant.types.selectors.ExtendFileSelector</code>. | |||
| The easiest way to do that is through the convenience base | |||
| class <code>org.apache.tools.ant.types.selectors.BaseExtendSelector</code>, | |||
| which provides all of the methods for | |||
| supporting <code><param></code> tags. First, override | |||
| the <code>isSelected()</code> method, and optionally | |||
| the <code>verifySettings()</code> method. If your custom selector | |||
| requires parameters to be set, you can also override | |||
| the <code>setParameters()</code> method and interpret the parameters | |||
| that are passed in any way you like. Several of the core selectors | |||
| demonstrate how to do that because they can also be used as custom | |||
| selectors. | |||
| class <code class="code">org.apache.tools.ant.types.selectors.BaseExtendSelector</code>, which | |||
| provides all of the methods for supporting <code><param></code> tags. First, override | |||
| the <code class="code">isSelected()</code> method, and optionally | |||
| the <code class="code">verifySettings()</code> method. If your custom selector requires | |||
| parameters to be set, you can also override the <code class="code">setParameters()</code> | |||
| method and interpret the parameters that are passed in any way you like. Several of the core | |||
| selectors demonstrate how to do that because they can also be used as custom selectors. | |||
| </p> | |||
| <p> | |||
| Once that is written, you include it in your build file by using | |||
| @@ -252,7 +238,7 @@ public class MatchNumberSelectors extends BaseSelectorContainer { | |||
| <td>classname</td> | |||
| <td> | |||
| The name of your class that | |||
| implements <code>org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| implements <code class="code">org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| </td> | |||
| <td>Yes</td> | |||
| </tr> | |||
| @@ -277,8 +263,7 @@ public class MatchNumberSelectors extends BaseSelectorContainer { | |||
| </table> | |||
| <p> | |||
| Here is how you use <code><custom></code> to use your class as a | |||
| selector: | |||
| Here is how you use <code><custom></code> to use your class as a selector: | |||
| </p> | |||
| <pre> | |||
| <fileset dir="${mydir}" includes="**/*"> | |||
| @@ -290,20 +275,20 @@ public class MatchNumberSelectors extends BaseSelectorContainer { | |||
| <ul> | |||
| <li><a href="selectors.html#containsselect">Contains Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.ContainsSelector</code></li> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.ContainsSelector</code></li> | |||
| <li><a href="selectors.html#dateselect">Date Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.DateSelector</code></li> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.DateSelector</code></li> | |||
| <li><a href="selectors.html#depthselect">Depth Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.DepthSelector</code></li> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.DepthSelector</code></li> | |||
| <li><a href="selectors.html#filenameselect">Filename Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.FilenameSelector</code></li> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.FilenameSelector</code></li> | |||
| <li><a href="selectors.html#sizeselect">Size Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.SizeSelector</code></li> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.SizeSelector</code></li> | |||
| </ul> | |||
| <p> | |||
| Here is the example from the Depth Selector section rewritten to use | |||
| the selector through <code><custom></code>. | |||
| Here is the example from the Depth Selector section rewritten to use the selector | |||
| through <code><custom></code>. | |||
| </p> | |||
| <pre> | |||
| <fileset dir="${doc.path}" includes="**/*"> | |||
| @@ -316,16 +301,14 @@ public class MatchNumberSelectors extends BaseSelectorContainer { | |||
| <h3 id="filterreaders">Custom Filter Readers</h3> | |||
| <p> | |||
| Custom filter readers selectors are datatypes that | |||
| implement <code>org.apache.tools.ant.types.filters.ChainableReader</code>. | |||
| implement <code class="code">org.apache.tools.ant.types.filters.ChainableReader</code>. | |||
| </p> | |||
| <p> | |||
| There is only one method required. <code>Reader chain(Reader | |||
| reader)</code>. This returns a reader that filters input from the | |||
| specified reader. | |||
| There is only one method required, <code class="code">Reader chain(Reader reader)</code>. | |||
| This returns a reader that filters input from the specified reader. | |||
| </p> | |||
| <p> | |||
| For example a filterreader that removes every second character could | |||
| be: | |||
| For example a filterreader that removes every second character could be: | |||
| </p> | |||
| <pre> | |||
| public class RemoveOddCharacters implements ChainableReader { | |||
| @@ -349,8 +332,8 @@ public class RemoveOddCharacters implements ChainableReader { | |||
| }</pre> | |||
| <p> | |||
| For line oriented filters it may be easier to | |||
| extend <code>ChainableFilterReader</code> an inner class | |||
| of <code>org.apache.tools.ant.filters.TokenFilter</code>. | |||
| extend <code class="code">ChainableFilterReader</code> an inner class | |||
| of <code class="code">org.apache.tools.ant.filters.TokenFilter</code>. | |||
| </p> | |||
| <p> | |||
| For example a filter that appends the line number could be | |||
| @@ -27,7 +27,7 @@ | |||
| <h2 id="description">Description</h2> | |||
| <h3>Description</h3> | |||
| <p>Allows for a description of the project to be specified that will be | |||
| included in the output of the <code>ant -projecthelp</code> command.</p> | |||
| included in the output of the <kbd>ant -projecthelp</kbd> command.</p> | |||
| <h3>Parameters</h3> | |||
| <p>(none)</p> | |||
| @@ -28,7 +28,7 @@ | |||
| <p>A FileSet is a group of files. These files can be found in a directory tree starting in a | |||
| base directory and are matched by patterns taken from a number | |||
| of <a href="patternset.html">PatternSets</a> and <a href="selectors.html">Selectors</a>.</p> | |||
| <p>PatternSets can be specified as nested q<code><patternset></code> elements. In | |||
| <p>PatternSets can be specified as nested <code><patternset></code> elements. In | |||
| addition, FileSet holds an implicit PatternSet and supports the | |||
| nested <code><include></code>, <code><includesfile></code>, <code><exclude></code> | |||
| and <code><excludesfile></code> elements of PatternSet directly, as well as PatternSet's | |||
| @@ -27,7 +27,7 @@ | |||
| that contained the string <q>blee</q> from the first 10 lines of a text file <samp>foo</samp> | |||
| (<em>you wouldn't want to filter a binary file</em>) to a file <samp>bar</samp>, you would do | |||
| something like:</p> | |||
| <pre>cat foo|head -n10|grep blee > bar</pre> | |||
| <pre class="input">cat foo|head -n10|grep blee > bar</pre> | |||
| <p>Apache Ant was not flexible enough. There was no way for the <code><copy></code> task to | |||
| do something similar. If you wanted the <code><copy></code> task to get the first 10 lines, | |||
| you would have had to create special attributes:</p> | |||
| @@ -42,8 +42,8 @@ and plug them in.</p> | |||
| <p>The solution was to refactor data transformation oriented tasks to support FilterChains. A | |||
| FilterChain is a group of ordered FilterReaders. Users can define their own FilterReaders by just | |||
| extending the <code>java.io.FilterReader</code> class. Such custom FilterReaders can be easily | |||
| plugged in as nested elements of <code><filterchain></code> by | |||
| extending the <code class="code">java.io.FilterReader</code> class. Such custom FilterReaders can | |||
| be easily plugged in as nested elements of <code><filterchain></code> by | |||
| using <code><filterreader></code> elements.</p> | |||
| <p>Example:</p> | |||
| <pre> | |||
| @@ -119,8 +119,9 @@ elements are defined in the build file using this. Please note that built in fi | |||
| also be defined using this syntax.</p> | |||
| <p>A FilterReader element must be supplied with a class name as an attribute value. The class | |||
| resolved by this name must extend <code>java.io.FilterReader</code>. If the custom filter reader | |||
| needs to be parameterized, it must implement <code>org.apache.tools.type.Parameterizable</code>.</p> | |||
| resolved by this name must extend <code class="code">java.io.FilterReader</code>. If the custom | |||
| filter reader needs to be parameterized, it must | |||
| implement <code class="code">org.apache.tools.type.Parameterizable</code>.</p> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -206,8 +207,8 @@ is substituted with the property's actual value.</p> | |||
| <h4>Example</h4> | |||
| <p>This results in the property <code>modifiedmessage</code> holding the value "All these | |||
| moments will be lost in time, like teardrops in the rain"</p> | |||
| <p>This results in the property <code>modifiedmessage</code> holding the value <q>All these moments | |||
| will be lost in time, like teardrops in the rain</q></p> | |||
| <pre> | |||
| <echo message="All these moments will be lost in time, like teardrops in the ${weather}" | |||
| file="loadfile1.tmp"/> | |||
| @@ -955,8 +956,8 @@ extracted)</p> | |||
| <p><em>Since Ant 1.8.0</em></p> | |||
| <p>The sort filter reads all lines and sorts them. The sort order can be reversed and it is | |||
| possible to specify a custom implementation of the <code>java.util.Comparator</code> interface | |||
| to get even more control.</p> | |||
| possible to specify a custom implementation of the <code class="code">java.util.Comparator</code> | |||
| interface to get even more control.</p> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -972,8 +973,8 @@ to get even more control.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>comparator</td> | |||
| <td>Class name of a class that implements <code>java.util.Comparator</code> for Strings. | |||
| This class will be used to determine the sort order of lines.</td> | |||
| <td>Class name of a class that implements <code class="code">java.util.Comparator</code> for | |||
| Strings. This class will be used to determine the sort order of lines.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -1023,12 +1024,12 @@ them into <samp>build</samp> location. | |||
| <p> | |||
| Sort all files <samp>*.txt</samp> from <samp>src</samp> location using as sorting | |||
| criterium <code>EvenFirstCmp</code> class, that sorts the file lines putting even lines first | |||
| then odd lines for example. The modified files are copied into <samp>build</samp> | |||
| location. The <code>EvenFirstCmp</code>, has to an instanciable class | |||
| via <code>Class.newInstance()</code>, therefore in case of inner class has to | |||
| be <em>static</em>. It also has to implement <code>java.util.Comparator</code> interface, for | |||
| example: | |||
| criterium <code class="code">EvenFirstCmp</code> class, that sorts the file lines putting even lines | |||
| first then odd lines for example. The modified files are copied into <samp>build</samp> | |||
| location. The <code class="code">EvenFirstCmp</code> has to an instanciable class | |||
| via <code class="code">Class.newInstance()</code>, therefore in case of inner class has to | |||
| be <em>static</em>. It also has to implement <code class="code">java.util.Comparator</code> | |||
| interface, for example: | |||
| </p> | |||
| <pre> | |||
| @@ -1166,9 +1167,9 @@ this on very large input.</p> | |||
| </tokenfilter></pre> | |||
| <h4 id="stringtokenizer">StringTokenizer</h4> | |||
| <p>This tokenizer is based on <code>java.util.StringTokenizer</code>. It splits up the input | |||
| into strings separated by white space, or by a specified list of delimiting characters. If the | |||
| stream starts with delimiter characters, the first token will be the empty string (unless | |||
| <p>This tokenizer is based on <code class="code">java.util.StringTokenizer</code>. It splits up the | |||
| input into strings separated by white space, or by a specified list of delimiting characters. If | |||
| the stream starts with delimiter characters, the first token will be the empty string (unless | |||
| the <var>delimsaretokens</var> attribute is used).</p> | |||
| <table class="attr"> | |||
| @@ -1430,8 +1431,7 @@ the <a href="../Tasks/native2ascii.html">native2ascii</a> task.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>reverse</td> | |||
| <td>Reverse the sense of the conversion, | |||
| i.e. convert from ASCII to native.</td> | |||
| <td>Reverse the sense of the conversion, i.e. convert from ASCII to native.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -1456,9 +1456,10 @@ See the <a href="../Tasks/script.html">Script</a> task for an explanation of scr | |||
| dependencies. | |||
| </p> | |||
| <p> | |||
| The script is provided with an object <samp>self</samp> that has <code>getToken()</code> | |||
| and <code>setToken(String)</code> methods. The <code>getToken()</code> method returns the current | |||
| token. The <code>setToken(String)</code> method replaces the current token. | |||
| The script is provided with an object <samp class="code">self</samp> that | |||
| has <code class="code">getToken()</code> and <code class="code">setToken(String)</code> methods. | |||
| The <code class="code">getToken()</code> method returns the current | |||
| token. The <code class="code">setToken(String)</code> method replaces the current token. | |||
| </p> | |||
| <p> | |||
| This filter may be used directly within a <code>filterchain</code>. | |||
| @@ -1538,8 +1539,8 @@ the <a href="../Tasks/script.html">script</a> task on how to use this element. | |||
| <h4 id="custom">Custom tokenizers and string filters</h4> | |||
| <p>Custom string filters and tokenizers may be plugged in by extending the | |||
| interfaces <code>org.apache.tools.ant.filters.TokenFilter.Filter</code> | |||
| and <code>org.apache.tools.ant.util.Tokenizer</code> respectly.</p> | |||
| interfaces <code class="code">org.apache.tools.ant.filters.TokenFilter.Filter</code> | |||
| and <code class="code">org.apache.tools.ant.util.Tokenizer</code> respectly.</p> | |||
| <p>They are defined in the build file using <code><typedef/></code>. For example, a string | |||
| filter that capitalizes words may be declared as:</p> | |||
| @@ -32,9 +32,10 @@ may want to specify the target files, either to help Apache Ant or to get an ext | |||
| functionality.</p> | |||
| <p>While source files are usually specified as <a href="fileset.html">fileset</a>s, you don't | |||
| specify target files directly—instead, you tell Ant how to find the target file(s) for one | |||
| source file. An instance of <code>org.apache.tools.ant.util.FileNameMapper</code> is responsible for | |||
| this. It constructs target file names based on rules that can be parameterized with <var>from</var> | |||
| and <var>to</var> attributes—the exact meaning of which is implementation-dependent.</p> | |||
| source file. An instance of <code class="code">org.apache.tools.ant.util.FileNameMapper</code> is | |||
| responsible for this. It constructs target file names based on rules that can be parameterized | |||
| with <var>from</var> and <var>to</var> attributes—the exact meaning of which is | |||
| implementation-dependent.</p> | |||
| <p>These instances are defined in <code><mapper></code> elements with the following | |||
| attributes:</p> | |||
| <table class="attr"> | |||
| @@ -88,16 +89,16 @@ is, a <a href="../using.html#path">path</a>-like structure.</p> | |||
| <p><em>Since Ant 1.7.0</em>, nested File Mappers can be supplied via | |||
| either <code><mapper></code> elements | |||
| or <a href="../Tasks/typedef.html"><code><typedef></code></a>'d implementations | |||
| of <code>org.apache.tools.ant.util.FileNameMapper</code>. If nested File Mappers are specified by | |||
| either means, the mapper will be implicitly configured as a <a href="#composite-mapper">composite | |||
| mapper</a>.</p> | |||
| of <code class="code">org.apache.tools.ant.util.FileNameMapper</code>. If nested File Mappers are | |||
| specified by either means, the mapper will be implicitly configured as | |||
| a <a href="#composite-mapper">composite mapper</a>.</p> | |||
| <h3>The built-in mapper types</h3> | |||
| <p>All built-in mappers are case-sensitive.</p> | |||
| <p><em>Since Ant 1.7.0</em>, each of the built-in mapper implementation types is directly accessible | |||
| using a specific tagname. This makes it possible for filename mappers to support attributes in | |||
| addition to the generally available <var>to</var> and <var>from</var>.<br/> The <code><mapper | |||
| type|classname="..."></code> usage form remains valid for reasons of backward | |||
| compatibility.</p> | |||
| addition to the generally available <var>to</var> and <var>from</var>.<br/> | |||
| The <code><mapper <var>type</var>|<var>classname</var>="..."></code> usage form | |||
| remains valid for reasons of backward compatibility.</p> | |||
| <!-- --> | |||
| <!-- Identity Mapper --> | |||
| @@ -330,10 +331,10 @@ case).</p> | |||
| <p>Note that you need to escape a dollar-sign (<q>$</q>) with another dollar-sign in Ant.</p> | |||
| <p>The regexp mapper needs a supporting library and an implementation | |||
| of <code>org.apache.tools.ant.util.regexp.RegexpMatcher</code> that hides the specifics of the | |||
| library. <em>Since Ant 1.8.0</em>, Java 1.4 or later is required, so the implementation based on | |||
| the <code>java.util.regex</code> package is always be available. You can still use the now retired | |||
| Jakarta ORO or Jakarta Regex instead if your provide the corresponding jar in | |||
| of <code class="code">org.apache.tools.ant.util.regexp.RegexpMatcher</code> that hides the specifics | |||
| of the library. <em>Since Ant 1.8.0</em>, Java 1.4 or later is required, so the implementation based | |||
| on the <code class="code">java.util.regex</code> package is always be available. You can still use | |||
| the now retired Jakarta ORO or Jakarta Regex instead if your provide the corresponding jar in | |||
| your <code>CLASSPATH</code>.</p> | |||
| <p>For information about using <a href="https://savannah.gnu.org/projects/gnu-regexp/" | |||
| @@ -344,17 +345,17 @@ target="_top">your mileage may vary</a> with different regexp engines.</p> | |||
| <p>If you want to use one of the <a href="../install.html#librarydependencies">regular expression | |||
| libraries</a> other than <code>java.util.regex</code> you need to also use the | |||
| corresponding <code>ant-[apache-oro, apache-regexp].jar</code> from the Ant release you are using. | |||
| corresponding <samp>ant-[apache-oro, apache-regexp].jar</samp> from the Ant release you are using. | |||
| Make sure that both will be loaded from the same classpath, that is either put them into | |||
| your <code>CLASSPATH</code>, <samp>ANT_HOME/lib</samp> directory or a | |||
| nested <code><classpath></code> element of the mapper—you cannot | |||
| have <code>ant-[apache-oro, apache-regexp].jar</code> in <samp>ANT_HOME/lib</samp> and the library | |||
| have <samp>ant-[apache-oro, apache-regexp].jar</samp> in <samp>ANT_HOME/lib</samp> and the library | |||
| in a nested <code><classpath></code>.</p> | |||
| <p>Ant will choose the regular expression library based on the following algorithm:</p> | |||
| <ul> | |||
| <li>If the system property <code>ant.regexp.matcherimpl</code> has been set, it is taken as the name | |||
| of the class implementing <code>org.apache.tools.ant.util.regexp.RegexpMatcher</code> that should be | |||
| used.</li> | |||
| of the class implementing <code class="code">org.apache.tools.ant.util.regexp.RegexpMatcher</code> | |||
| that should be used.</li> | |||
| <li>If it has not been set, uses the JDK 1.4 classes.</li> | |||
| </ul> | |||
| @@ -590,7 +591,7 @@ mappers; prior to Ant 1.8.0 the order has been undefined.</p> | |||
| <td><code>foo.bar.A</code></td> | |||
| </tr> | |||
| </table> | |||
| <p>The composite mapper has no corresponding <code><mapper <var>type</var>></code> | |||
| <p>The composite mapper has no corresponding <code><mapper></code> <var>type</var> | |||
| attribute.</p> | |||
| <!-- --> | |||
| @@ -633,7 +634,7 @@ operation. The <var>to</var> and <var>from</var> attributes are ignored.</p> | |||
| <td><code>new/path/B.java2</code></td> | |||
| </tr> | |||
| </table> | |||
| <p>The chained mapper has no corresponding <code><mapper <var>type</var>></code> | |||
| <p>The chained mapper has no corresponding <code><mapper></code> <var>type</var> | |||
| attribute.</p> | |||
| <!-- --> | |||
| @@ -678,9 +679,7 @@ file name.</p> | |||
| </tr> | |||
| </table> | |||
| <p>The filtermapper has no corresponding | |||
| <code><mapper <var>type</var>></code> attribute. | |||
| </p> | |||
| <p>The filtermapper has no corresponding <code><mapper></code> <var>type</var> attribute.</p> | |||
| <!-- --> | |||
| <!-- Script Mapper --> | |||
| @@ -742,8 +741,7 @@ dependencies.</p> | |||
| </tr> | |||
| </table> | |||
| <p>This filename mapper can take a nested <classpath> element. See | |||
| the <a href="../Tasks/script.html">script</a> task on how to use this element. | |||
| </p> | |||
| the <a href="../Tasks/script.html">script</a> task on how to use this element.</p> | |||
| <h5>Example</h5> | |||
| <pre> | |||
| @@ -793,7 +791,7 @@ every source file, with the list of mapped names reset after every invocation.</ | |||
| </tr> | |||
| </table> | |||
| <p>The scriptmapper has no corresponding <code><mapper <var>type</var>></code> attribute.</p> | |||
| <p>The scriptmapper has no corresponding <code><mapper></code> <var>type</var> attribute.</p> | |||
| <h4 id="firstmatch-mapper">firstmatchmapper</h4> | |||
| <p><em>Since Ant 1.8.0</em></p> | |||
| @@ -822,7 +820,7 @@ collects the results of all matching children.</p> | |||
| </tr> | |||
| </table> | |||
| <p>The firstmatchmapper has no corresponding <code><mapper <var>type</var>></code> | |||
| <p>The firstmatchmapper has no corresponding <code><mapper></code> <var>type</var> | |||
| attribute.</p> | |||
| <h4 id="cutdirs-mapper">cutdirsmapper</h4> | |||
| @@ -843,7 +841,7 @@ attribute.</p> | |||
| </tr> | |||
| </table> | |||
| <p>The cutdirsmapper has no corresponding <code><mapper <var>type</var>></code> attribute.</p> | |||
| <p>The cutdirsmapper has no corresponding <code><mapper></code> <var>type</var> attribute.</p> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -184,17 +184,17 @@ | |||
| <h3>Mixing Elements from Different Namespaces</h3> | |||
| <p> | |||
| Now comes the difficult part: elements from different namespaces can be woven together | |||
| under certain circumstances. This has a lot to do with the Ant | |||
| 1.6 <a href="../develop.html#nestedtype">add type introspection rules</a>: Ant types and | |||
| tasks are now free to accept arbitrary named types as nested elements, as long as the | |||
| concrete type implements the interface expected by the task/type. The most obvious example | |||
| for this is the <code><condition></code> task, which supports various nested | |||
| conditions, all of which extend the interface <code>Condition</code>. To integrate a | |||
| custom condition in Ant, you can now simply <code><typedef></code> the condition, | |||
| and then use it anywhere nested conditions are allowed (assuming the containing element | |||
| has a generic <code>add(Condition)</code> or <code>addConfigured(Condition)</code> | |||
| method): | |||
| Now comes the difficult part: elements from different namespaces can be woven together under | |||
| certain circumstances. This has a lot to do with the Ant | |||
| 1.6 <a href="../develop.html#nestedtype">add type introspection rules</a>: Ant types and tasks | |||
| are now free to accept arbitrary named types as nested elements, as long as the concrete type | |||
| implements the interface expected by the task/type. The most obvious example for this is | |||
| the <code><condition></code> task, which supports various nested conditions, all of | |||
| which extend the interface <code class="code">Condition</code>. To integrate a custom | |||
| condition in Ant, you can now simply <code><typedef></code> the condition, and then use | |||
| it anywhere nested conditions are allowed (assuming the containing element has a | |||
| generic <code class="code">add(Condition)</code> | |||
| or <code class="code">addConfigured(Condition)</code> method): | |||
| </p> | |||
| <pre> | |||
| <typedef resource="org/example/conditions.properties" uri="<a href="http://example.org/conditions">http://example.org/conditions</a>"/> | |||
| @@ -134,9 +134,9 @@ are revoked. If the <var>actions</var> are left empty all actions match, and ar | |||
| <grant class="java.util.PropertyPermission" name="user.home" action="read,write"/> | |||
| </permissions> | |||
| </pre> | |||
| <p>Grants the base set of permissions with the addition of a <code>SocketPermission</code> to | |||
| connect to <samp>foo.bar.com</samp> and the permission to read and write | |||
| the <code>user.home</code> system property.</p> | |||
| <p>Grants the base set of permissions with the addition of | |||
| a <code class="code">SocketPermission</code> to connect to <samp>foo.bar.com</samp> and the | |||
| permission to read and write the <code>user.home</code> system property.</p> | |||
| </body> | |||
| </html> | |||
| @@ -57,12 +57,12 @@ dependencies</a> concerning the supporting libraries.</p> | |||
| <p>The property <code>ant.regexp.regexpimpl</code> governs which regular expression implementation | |||
| will be chosen. Possible values for this property are:</p> | |||
| <ul> | |||
| <li><code>org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp</code></li> | |||
| <li><code>org.apache.tools.ant.util.regexp.JakartaOroRegexp</code></li> | |||
| <li><code>org.apache.tools.ant.util.regexp.JakartaRegexpRegexp</code></li> | |||
| <li><code class="code">org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp</code></li> | |||
| <li><code class="code">org.apache.tools.ant.util.regexp.JakartaOroRegexp</code></li> | |||
| <li><code class="code">org.apache.tools.ant.util.regexp.JakartaRegexpRegexp</code></li> | |||
| </ul> | |||
| <p>It can also be another implementation of the | |||
| interface <code>org.apache.tools.ant.util.regexp.Regexp</code>. | |||
| interface <code class="code">org.apache.tools.ant.util.regexp.Regexp</code>. | |||
| If <code>ant.regexp.regexpimpl</code> is not defined, Ant uses Jdk14Regexp as this is always | |||
| available.</p> | |||
| <p> | |||
| @@ -1015,11 +1015,11 @@ collection.</p> | |||
| <p>A single resource collection is required.</p> | |||
| <h4 id="tokens">tokens</h4> | |||
| <p>Includes the <a href="#string">string</a> tokens gathered from a nested resource | |||
| collection. Uses the same tokenizers supported by | |||
| <p>Includes the <a href="#string">string</a> tokens gathered from a nested resource collection. Uses | |||
| the same tokenizers supported by | |||
| the <a href="filterchain.html#tokenfilter">TokenFilter</a>. Imaginative use of this resource | |||
| collection can implement equivalents for such Unix functions as <code>sort</code>, <code>grep | |||
| -c</code>, <code>wc</code> and <code>wc -l</code>.</p> | |||
| collection can implement equivalents for such Unix functions as <kbd>sort</kbd>, <kbd>grep | |||
| -c</kbd>, <kbd>wc</kbd> and <kbd>wc -l</kbd>.</p> | |||
| <table class="attr"> | |||
| <tr> | |||
| <th>Attribute</th> | |||
| @@ -1056,7 +1056,7 @@ collection can implement equivalents for such Unix functions as <code>sort</code | |||
| </sort> | |||
| </union> | |||
| </concat></pre> | |||
| <p>Implements Unix <code>sort -u</code> against resource collection <q>input</q>.</p> | |||
| <p>Implements Unix <kbd>sort -u</kbd> against resource collection <q>input</q>.</p> | |||
| <h4 id="setlogic">Set operations</h4> | |||
| <p>The following resource collections implement set operations:</p> | |||
| @@ -45,15 +45,15 @@ | |||
| example.</p> | |||
| <p>To create a new Custom Selector, you have to create a class that | |||
| implements <code>org.apache.tools.ant.types.selectors.ExtendFileSelector</code>. The | |||
| easiest way to do that is through the convenience base | |||
| class <code>org.apache.tools.ant.types.selectors.BaseExtendSelector</code>, which | |||
| provides all of the methods for supporting <code><param></code> tags. First, | |||
| override the <code>isSelected()</code> method, and optionally | |||
| the <code>verifySettings()</code> method. If your custom selector requires parameters to | |||
| be set, you can also override the <code>setParameters()</code> method and interpret the | |||
| parameters that are passed in any way you like. Several of the core selectors | |||
| demonstrate how to do that because they can also be used as custom selectors.</p> | |||
| implements <code class="code">org.apache.tools.ant.types.selectors.ExtendFileSelector</code>. | |||
| The easiest way to do that is through the convenience base | |||
| class <code class="code">org.apache.tools.ant.types.selectors.BaseExtendSelector</code>, | |||
| which provides all of the methods for supporting <code><param></code> tags. First, | |||
| override the <code class="code">isSelected()</code> method, and optionally | |||
| the <code class="code">verifySettings()</code> method. If your custom selector requires | |||
| parameters to be set, you can also override the <code class="code">setParameters()</code> | |||
| method and interpret the parameters that are passed in any way you like. Several of the core | |||
| selectors demonstrate how to do that because they can also be used as custom selectors.</p> | |||
| <li>Core Selectors | |||
| @@ -62,37 +62,40 @@ | |||
| <ul> | |||
| <li><p>First, create a class that | |||
| implements <code>org.apache.tools.ant.types.selectors.FileSelector</code>. You can | |||
| either choose to implement all methods yourself from scratch, or you can | |||
| extend <code>org.apache.tools.ant.types.selectors.BaseSelector</code> instead, a | |||
| convenience class that provides reasonable default behaviour for many methods.</p> | |||
| <p>There is only one method required. <code>public boolean isSelected(File basedir, | |||
| String filename, File file)</code> is the real purpose of the whole exercise. It | |||
| returns <q>true</q> or <q>false</q> depending on whether the given file should be | |||
| selected from the list or not.</p> | |||
| <p>If you are using <code>org.apache.tools.ant.types.selectors.BaseSelector</code> | |||
| there are also some predefined behaviours you can take advantage of. Any time you | |||
| encounter a problem when setting attributes or adding tags, you can | |||
| call <code>setError(String errmsg)</code> and the class will know that there is a | |||
| problem. Then, at the top of your <code>isSelected()</code> method | |||
| call <code>validate()</code> and a BuildException will be thrown with the contents | |||
| of your error message. The <code>validate()</code> method also gives you a last | |||
| chance to check your settings for consistency because it | |||
| calls <code>verifySettings()</code>. Override this method and | |||
| call <code>setError()</code> within it if you detect any problems in how your | |||
| selector is set up.</p> | |||
| <p>You may also want to override <code>toString()</code>.</p></li> | |||
| <li>Put an <code>add</code> method for your selector | |||
| in <code>org.apache.tools.ant.types.selectors.SelectorContainer</code>. This is an | |||
| interface, so you will also have to add an implementation for the method in the | |||
| classes which implement it, | |||
| namely <code>org.apache.tools.ant.types.AbstractFileSet</code>, <code>org.apache.tools.ant.taskdefs.MatchingTask</code> | |||
| and <code>org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>. Once | |||
| it is in there, it will be available everywhere that core selectors are | |||
| implements <code class="code">org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| You can either choose to implement all methods yourself from scratch, or you can | |||
| extend <code class="code">org.apache.tools.ant.types.selectors.BaseSelector</code> | |||
| instead, a convenience class that provides reasonable default behaviour for many | |||
| methods.</p> | |||
| <p>There is only one method required. <code class="code">public boolean isSelected(File | |||
| basedir, String filename, File file)</code> is the real purpose of the whole | |||
| exercise. It returns <q>true</q> or <q>false</q> depending on whether the given file | |||
| should be selected from the list or not.</p> | |||
| <p>If you are | |||
| using <code class="code">org.apache.tools.ant.types.selectors.BaseSelector</code> there | |||
| are also some predefined behaviours you can take advantage of. Any time you encounter a | |||
| problem when setting attributes or adding tags, you can | |||
| call <code class="code">setError(String errmsg)</code> and the class will know that | |||
| there is a problem. Then, at the top of your <code class="code">isSelected()</code> | |||
| method call <code class="code">validate()</code> and a <code>BuildException</code> will | |||
| be thrown with the contents of your error | |||
| message. The <code class="code">validate()</code> method also gives you a last chance to | |||
| check your settings for consistency because it | |||
| calls <code class="code">verifySettings()</code>. Override this method and | |||
| call <code class="code">setError()</code> within it if you detect any problems in how | |||
| your selector is set up.</p> | |||
| <p>You may also want to override <code class="code">toString()</code>.</p></li> | |||
| <li>Put an <code class="code">add()</code> method for your selector | |||
| in <code class="code">org.apache.tools.ant.types.selectors.SelectorContainer</code>. | |||
| This is an interface, so you will also have to add an implementation for the method in | |||
| the classes which implement it, | |||
| namely <code class="code">org.apache.tools.ant.types.AbstractFileSet</code>, <code class="code">org.apache.tools.ant.taskdefs.MatchingTask</code> | |||
| and <code class="code">org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>. | |||
| Once it is in there, it will be available everywhere that core selectors are | |||
| appropriate.</li> | |||
| </ul> | |||
| @@ -100,18 +103,18 @@ | |||
| <p>Got an idea for a new Selector Container? Creating a new one is no problem:</p> | |||
| <ul> | |||
| <li>Create a new class that | |||
| implements <code>org.apache.tools.ant.types.selectors.SelectorContainer</code>. | |||
| implements <code class="code">org.apache.tools.ant.types.selectors.SelectorContainer</code>. | |||
| This will ensure that your new Container can access any new selectors that come | |||
| along. Again, there is a convenience class available for you | |||
| called <code>org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>.</li> | |||
| <li>Implement the <code>public boolean isSelected(String filename, File file)</code> | |||
| method to do the right thing. Chances are you'll want to iterate over the selectors | |||
| under you, so use <code>selectorElements()</code> to get an iterator that will do | |||
| that.</li> | |||
| <li>Again, put an <code>add</code> method for your container | |||
| in <code>org.apache.tools.ant.types.selectors.SelectorContainer</code> and its | |||
| implementations <code>org.apache.tools.ant.types.AbstractFileSet</code> | |||
| and <code>org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>.</li> | |||
| called <code class="code">org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>.</li> | |||
| <li>Implement the <code class="code">public boolean isSelected(String filename, File | |||
| file)</code> method to do the right thing. Chances are you'll want to iterate over the | |||
| selectors under you, so use <code class="code">selectorElements()</code> to get an | |||
| iterator that will do that.</li> | |||
| <li>Again, put an <code class="code">add()</code> method for your container | |||
| in <code class="code">org.apache.tools.ant.types.selectors.SelectorContainer</code> and | |||
| its implementations <code class="code">org.apache.tools.ant.types.AbstractFileSet</code> | |||
| and <code class="code">org.apache.tools.ant.types.selectors.BaseSelectorContainer</code>.</li> | |||
| </ul> | |||
| </ol> | |||
| @@ -119,16 +122,16 @@ | |||
| <p>For a robust component (and selectors are (Project)Components) tests are necessary. For | |||
| testing Tasks we use JUnit Tests and Rules—more | |||
| specific <code>org.apache.tools.ant.BuildFileRule extends | |||
| org.junit.rules.ExternalResource</code>. Some of its features like configure the (test) | |||
| project by reading its buildfile and execute targets we need for selector tests | |||
| also. Therefore we use that BuildFileRule. But testing selectors requires some more work: | |||
| having a set of files, instantiate and configure the selector, check the selection work and | |||
| more. Because we usually extend <code>BaseExtendSelector</code> its features have to be | |||
| tested also (e.g. <code>setError()</code>).</p> | |||
| specific <code class="code">org.apache.tools.ant.BuildFileRule extends | |||
| org.junit.rules.ExternalResource</code>. Some of its features like configure the (test) project | |||
| by reading its buildfile and execute targets we need for selector tests also. Therefore we use | |||
| that BuildFileRule. But testing selectors requires some more work: having a set of files, | |||
| instantiate and configure the selector, check the selection work and more. Because we usually | |||
| extend <code class="code">BaseExtendSelector</code> its features have to be tested also | |||
| (e.g. <code class="code">setError()</code>).</p> | |||
| <p>That's why we have a test rule for doing our selector | |||
| tests: <code>org.apache.tools.ant.types.selectors.BaseSelectorRule</code>.</p> | |||
| tests: <code class="code">org.apache.tools.ant.types.selectors.BaseSelectorRule</code>.</p> | |||
| <p>This class extends ExternalResource and therefore can included in the set of Ant's unit | |||
| tests. It holds an instance of preconfigured BuildFileRule. Configuration is done by parsing | |||
| @@ -180,32 +183,32 @@ public class MySelectorTest { | |||
| [junit] at junit.framework.Assert.assertEquals(Assert.java:81) | |||
| [junit] at org.apache.tools.ant.types.selectors.BaseSelectorTest.performTest(BaseSelectorTest.java:194)</pre> | |||
| <p>Described above the test class should provide a <code>getInstance()</code> method. But | |||
| that isn't used here. The used <code>getSelector()</code> method is implemented in the base | |||
| class and gives an instance of an Ant Project to the selector. This is usually done inside | |||
| normal build file runs, but not inside this special environment, so this method gives the | |||
| selector the ability to use its own Project object (<code>getProject()</code>), for example | |||
| for logging.</p> | |||
| <p>Described above the test class should provide a <code class="code">getInstance()</code> | |||
| method. But that isn't used here. The used <code class="code">getSelector()</code> method is | |||
| implemented in the base class and gives an instance of an Ant Project to the selector. This is | |||
| usually done inside normal build file runs, but not inside this special environment, so this | |||
| method gives the selector the ability to use its own Project object | |||
| (<code class="code">getProject()</code>), for example for logging.</p> | |||
| <h3>Logging</h3> | |||
| <p>During development and maybe later you sometimes need the output of information. | |||
| Therefore Logging is needed. Because the selector extends BaseExtendSelector or directly | |||
| BaseSelector it is an Ant <code>DataType</code> and therefore | |||
| a <code>ProjectComponent</code>.<br/> That means that you have access to the project object | |||
| and its logging capability. <code>ProjectComponent</code> itself | |||
| provides <code>log()</code> methods which will do the access to the project | |||
| <p>During development and maybe later you sometimes need the output of information. Therefore | |||
| Logging is needed. Because the selector extends BaseExtendSelector or directly BaseSelector it | |||
| is an Ant <code class="code">DataType</code> and therefore | |||
| a <code class="code">ProjectComponent</code>.<br/> That means that you have access to the | |||
| project object and its logging capability. <code class="code">ProjectComponent</code> itself | |||
| provides <code class="code">log()</code> methods which will do the access to the project | |||
| instance. Logging is therefore done simply with:</p> | |||
| <pre>log("message");</pre> | |||
| <p>or</p> | |||
| <pre>log("message", loglevel);</pre> | |||
| <p>where the <code>loglevel</code> is one of the values</p> | |||
| <ul> | |||
| <li><code>org.apache.tools.ant.Project.MSG_ERR</code></li> | |||
| <li><code>org.apache.tools.ant.Project.MSG_WARN</code></li> | |||
| <li><code>org.apache.tools.ant.Project.MSG_INFO</code> (default)</li> | |||
| <li><code>org.apache.tools.ant.Project.MSG_VERBOSE</code></li> | |||
| <li><code>org.apache.tools.ant.Project.MSG_DEBUG</code></li> | |||
| <li><code class="code">org.apache.tools.ant.Project.MSG_ERR</code></li> | |||
| <li><code class="code">org.apache.tools.ant.Project.MSG_WARN</code></li> | |||
| <li><code class="code">org.apache.tools.ant.Project.MSG_INFO</code> (default)</li> | |||
| <li><code class="code">org.apache.tools.ant.Project.MSG_VERBOSE</code></li> | |||
| <li><code class="code">org.apache.tools.ant.Project.MSG_DEBUG</code></li> | |||
| </ul> | |||
| </body> | |||
| @@ -34,10 +34,10 @@ | |||
| any target by using the <code><selector></code> tag and then using it as a reference.</p> | |||
| <p>Different selectors have different attributes. Some selectors can contain other selectors, | |||
| and these are called <a href="#selectcontainers"><code>Selector Containers</code></a>. There is | |||
| also a category of selectors that allow user-defined extensions, | |||
| called <a href="#customselect"><code>Custom Selectors</code></a>. The ones built in to Apache | |||
| Ant are called <a href="#coreselect"><code>Core Selectors</code></a>.</p> | |||
| and these are called <a href="#selectcontainers"><q>Selector Containers</q></a>. There is also | |||
| a category of selectors that allow user-defined extensions, | |||
| called <a href="#customselect"><q>Custom Selectors</q></a>. The ones built in to Apache Ant are | |||
| called <a href="#coreselect"><q>Core Selectors</q></a>.</p> | |||
| <h3 id="coreselect">Core Selectors</h3> | |||
| @@ -877,36 +877,36 @@ | |||
| <h4 id="readable">Readable Selector</h4> | |||
| <p>The <code><readable></code> selector selects only files that are readable. Ant only | |||
| invokes <code>java.io.File#canRead</code> so if a file is unreadable but JVM cannot detect this | |||
| state, this selector will still select the file.</p> | |||
| invokes <code class="code">java.io.File#canRead</code> so if a file is unreadable but JVM cannot | |||
| detect this state, this selector will still select the file.</p> | |||
| <h4 id="writable">Writable Selector</h4> | |||
| <p>The <code><writable></code> selector selects only files that are writable. Ant only | |||
| invokes <code>java.io.File#canWrite</code> so if a file is nonwritable but JVM cannot detect | |||
| this state, this selector will still select the file.</p> | |||
| invokes <code class="code">java.io.File#canWrite</code> so if a file is nonwritable but JVM | |||
| cannot detect this state, this selector will still select the file.</p> | |||
| <h4 id="executable">Executable Selector</h4> | |||
| <p>The <code><executable></code> selector selects only files that are executable. Ant | |||
| only invokes <code>java.nio.file.Files#isExecutable</code> so if a file is not executable but | |||
| JVM cannot detect this state, this selector will still select the file.</p> | |||
| only invokes <code class="code">java.nio.file.Files#isExecutable</code> so if a file is not | |||
| executable but JVM cannot detect this state, this selector will still select the file.</p> | |||
| <p><em>Since Ant 1.10.0</em></p> | |||
| <h4 id="symlink">Symlink Selector</h4> | |||
| <p>The <code><symlink></code> selector selects only files that are symbolic links. Ant | |||
| only invokes <code>java.nio.file.Files#isSymbolicLink</code> so if a file is a symbolic link but | |||
| JVM cannot detect this state, this selector will not select the file.</p> | |||
| only invokes <code class="code">java.nio.file.Files#isSymbolicLink</code> so if a file is a | |||
| symbolic link but JVM cannot detect this state, this selector will not select the file.</p> | |||
| <p><em>Since Ant 1.10.0</em></p> | |||
| <h4 id="ownedBy">OwnedBy Selector</h4> | |||
| <p>The <code><ownedBy></code> selector selects only files that are owned by the given | |||
| user. Ant only invokes <code>java.nio.file.Files#getOwner</code> so if a file system doesn't | |||
| support the operation this selector will not select the file.</p> | |||
| user. Ant only invokes <code class="code">java.nio.file.Files#getOwner</code> so if a file | |||
| system doesn't support the operation this selector will not select the file.</p> | |||
| <p><em>Since Ant 1.10.0</em></p> | |||
| @@ -1312,9 +1312,9 @@ | |||
| <p>First, you have to write your selector class in Java. The only requirement it must meet in | |||
| order to be a selector is that it implements | |||
| the <code>org.apache.tools.ant.types.selectors.FileSelector</code> interface, which contains a | |||
| single method. See <a href="selectors-program.html">Programming Selectors in Ant</a> for more | |||
| information.</p> | |||
| the <code class="code">org.apache.tools.ant.types.selectors.FileSelector</code> interface, which | |||
| contains a single method. See <a href="selectors-program.html">Programming Selectors in Ant</a> | |||
| for more information.</p> | |||
| <p>Once that is written, you include it in your build file by using | |||
| the <code><custom></code> tag.</p> | |||
| @@ -1328,7 +1328,7 @@ | |||
| <tr> | |||
| <td>classname</td> | |||
| <td>The name of your class that | |||
| implements <code>org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| implements <code class="code">org.apache.tools.ant.types.selectors.FileSelector</code>. | |||
| </td> | |||
| <td>Yes</td> | |||
| </tr> | |||
| @@ -1362,15 +1362,15 @@ | |||
| <ul> | |||
| <li><a href="#containsselect">Contains Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.ContainsSelector</code> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.ContainsSelector</code> | |||
| <li><a href="#dateselect">Date Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.DateSelector</code> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.DateSelector</code> | |||
| <li><a href="#depthselect">Depth Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.DepthSelector</code> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.DepthSelector</code> | |||
| <li><a href="#filenameselect">Filename Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.FilenameSelector</code> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.FilenameSelector</code> | |||
| <li><a href="#sizeselect">Size Selector</a> with | |||
| classname <code>org.apache.tools.ant.types.selectors.SizeSelector</code> | |||
| classname <code class="code">org.apache.tools.ant.types.selectors.SizeSelector</code> | |||
| </ul> | |||
| <p>Here is the example from the Depth Selector section rewritten to use the selector | |||
| @@ -38,8 +38,9 @@ Dependencies</a> for more information.</p> | |||
| <p>This data type provides a catalog of resource locations based on | |||
| the <a href="https://www.oasis-open.org/committees/download.php/14809/xml-catalogs.html" | |||
| target="_top">OASIS XML Catalog standard</a>. The catalog entries are used both for Entity | |||
| resolution and URI resolution, in accordance with the <code>org.xml.sax.EntityResolver</code> | |||
| and <code>javax.xml.transform.URIResolver</code> interfaces as defined in | |||
| resolution and URI resolution, in accordance with | |||
| the <code class="code">org.xml.sax.EntityResolver</code> | |||
| and <code class="code">javax.xml.transform.URIResolver</code> interfaces as defined in | |||
| the <a href="https://download.oracle.com/otn-pub/jcp/jaxp-1_6-mrel3-spec/JAXP1_6-FinalSpec.pdf" | |||
| target="_top">Java API for XML Processing (JAXP) Specification</a>.</p> | |||
| <p>For example, in a <code>web.xml</code> file, the DTD is referenced as:</p> | |||
| @@ -193,21 +194,18 @@ warning will be logged.</p> | |||
| <p>Set up an XMLCatalog with a single DTD referenced locally in a user's home directory:</p> | |||
| <pre> | |||
| <xmlcatalog> | |||
| <dtd | |||
| publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" | |||
| location="/home/dion/downloads/docbook/docbookx.dtd"/> | |||
| <dtd publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" | |||
| location="/home/dion/downloads/docbook/docbookx.dtd"/> | |||
| </xmlcatalog></pre> | |||
| <p>Set up an XMLCatalog with a multiple DTDs to be found either in the filesystem (relative to | |||
| the Ant project <var>basedir</var>) or in the classpath: | |||
| </p> | |||
| <pre> | |||
| <xmlcatalog id="commonDTDs"> | |||
| <dtd | |||
| publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" | |||
| location="docbook/docbookx.dtd"/> | |||
| <dtd | |||
| publicId="-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" | |||
| location="web-app_2_2.dtd"/> | |||
| <dtd publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" | |||
| location="docbook/docbookx.dtd"/> | |||
| <dtd publicId="-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" | |||
| location="web-app_2_2.dtd"/> | |||
| </xmlcatalog></pre> | |||
| <p>Set up an XMLCatalog with a combination of DTDs and entities as well as a nested XMLCatalog | |||
| @@ -215,21 +213,17 @@ and external catalog files in both formats:</p> | |||
| <pre> | |||
| <xmlcatalog id="allcatalogs"> | |||
| <dtd | |||
| publicId="-//ArielPartners//DTD XML Article V1.0//EN" | |||
| location="com/arielpartners/knowledgebase/dtd/article.dtd"/> | |||
| <entity | |||
| publicId="LargeLogo" | |||
| location="com/arielpartners/images/ariel-logo-large.gif"/> | |||
| <dtd publicId="-//ArielPartners//DTD XML Article V1.0//EN" | |||
| location="com/arielpartners/knowledgebase/dtd/article.dtd"/> | |||
| <entity publicId="LargeLogo" | |||
| location="com/arielpartners/images/ariel-logo-large.gif"/> | |||
| <xmlcatalog refid="commonDTDs"/> | |||
| <catalogpath> | |||
| <pathelement location="/etc/sgml/catalog"/> | |||
| <fileset | |||
| dir="/anetwork/drive" | |||
| includes="**/catalog"/> | |||
| <fileset | |||
| dir="/my/catalogs" | |||
| includes="**/catalog.xml"/> | |||
| <fileset dir="/anetwork/drive" | |||
| includes="**/catalog"/> | |||
| <fileset dir="/my/catalogs" | |||
| includes="**/catalog.xml"/> | |||
| </catalogpath> | |||
| </xmlcatalog> | |||
| </xmlcatalog></pre> | |||