* Ant 1.10 requires jdk 8 doc update * Updated the manual to reflect ant requires JDK 8 +master
| @@ -143,8 +143,7 @@ attribute to a value other than its default, <q>add</q>.</strong></p> | |||
| <td>index</td> | |||
| <td>whether to create | |||
| an <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#JAR_Index" | |||
| target="_top">index list</a> to speed up classloading. This is a JDK 1.3+ specific feature. | |||
| Unless you specify additional jars with | |||
| target="_top">index list</a> to speed up classloading. Unless you specify additional jars with | |||
| nested <a href="jar.html#indexjars"><code>indexjars</code></a> elements, only the contents of | |||
| this jar will be included in the index.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| @@ -90,9 +90,6 @@ executed exactly as specified inside a temporary DCL script. This has some impl | |||
| an <q>@</q>-sign (e.g. <var>executable</var>=<q>@[FOO]BAR.COM</q>), just as you would in a DCL | |||
| script</li> | |||
| </ul> | |||
| <p>For <code><exec></code> to work in an environment with a JVM older than version 1.4.1-2 it | |||
| is also <em>required</em> that the logical <code>JAVA$FORK_SUPPORT_CHDIR</code> is set | |||
| 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 | |||
| @@ -202,7 +202,7 @@ e.g. decreasing the size by deleting 'same' classes from the versions-branches, | |||
| <td>index</td> | |||
| <td>whether to create | |||
| an <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#JAR_Index" | |||
| target="_top">index list</a> to speed up classloading. This is a JDK 1.3+ specific feature. | |||
| target="_top">index list</a> to speed up classloading. | |||
| Unless you specify additional jars with nested <a href="#indexjars"><code>indexjars</code></a> | |||
| elements, only the contents of this jar will be included in the index.</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| @@ -508,7 +508,7 @@ Sealed: false</pre> | |||
| <h4>Service Provider</h4> | |||
| <p>The following shows how to create a jar file specifying a service with an implementation of the | |||
| JDK 6 scripting interface:</p> | |||
| scripting interface:</p> | |||
| <pre> | |||
| <jar destfile="pinky.jar"> | |||
| <fileset dir="build/classes"/> | |||
| @@ -517,7 +517,7 @@ JDK 6 scripting interface:</p> | |||
| </jar></pre> | |||
| <p>The following shows how to create a jar file specifying a service with two implementations of the | |||
| JDK 6 scripting interface:</p> | |||
| scripting interface:</p> | |||
| <pre> | |||
| <jar destfile="pinkyandbrain.jar"> | |||
| <fileset dir="classes"/> | |||
| @@ -73,7 +73,7 @@ for either the <code>build.compiler</code> property or the <var>compiler</var> a | |||
| <li><q>sj</q> (Symantec Java compiler) – <q>symantec</q> can be used as an alias.</li> | |||
| <li><q>extJavac</q> (run either modern or classic in a JVM of its own).</li> | |||
| </ul> | |||
| <p>The default is <q>javac1.x</q> with <q>x</q> depending on the JDK version you use while you are | |||
| <p>The default is <q>javacX</q> with <q>X</q> depending on the JDK version you use while you are | |||
| running Ant. If you wish to use a different compiler interface than those supplied, you can write a | |||
| class that implements the CompilerAdapter interface | |||
| (package <code>org.apache.tools.ant.taskdefs.compilers</code>). Supply the full classname in | |||
| @@ -93,7 +93,7 @@ it passes to the compiler.</p> | |||
| locks up the files present in the classpath of the <code><javac></code> task, and does not | |||
| release them. The side effect of this is that you will not be able to delete or move those files | |||
| later on in the build. The workaround is to fork when invoking the compiler.</p> | |||
| <p>If you are using Java 8 or above and your source contains native methods or fields annotated with | |||
| <p>If 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 <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, | |||
| @@ -404,14 +404,14 @@ file will not get compiled even if a native header file generated for it would b | |||
| <tr> | |||
| <td>nativeheaderdir</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> | |||
| <td>No, ignored when compiling on JDK 7 or earlier</td> | |||
| </tr> | |||
| <tr> | |||
| <td>release</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> | |||
| <td>No, ignored when compiling on JDK 8 or earlier</td> | |||
| </tr> | |||
| </table> | |||
| @@ -591,10 +591,6 @@ log, that these settings are fix.</p> | |||
| fork="true" | |||
| taskname="javac1.4"/></pre> | |||
| <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 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> | |||
| <pre> | |||
| @@ -50,12 +50,6 @@ listed in <var>packagelist</var> are not checked, so the task performs even if s | |||
| 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> | |||
| <p>In the table below, 1.2 means available if your current JVM is exactly of version 1.2 (not 1.3 or | |||
| later), 1.4+ for any JVM of at least version 1.4, otherwise any JVM of at least version 1.2 is | |||
| acceptable. <em>JDKs prior to 1.4 are no longer supported.</em> If you specify | |||
| the <var>executable</var> 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 class="output">java.lang.ClassCastException: | |||
| com.sun.tools.javadoc.ClassDocImpl</code>. This is | |||
| @@ -82,13 +76,11 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <tr> | |||
| <th scope="col">Attribute</th> | |||
| <th scope="col">Description</th> | |||
| <th scope="col">Availability on Java</th> | |||
| <th scope="col">Required</th> | |||
| </tr> | |||
| <tr> | |||
| <td>sourcepath</td> | |||
| <td>Specify where to find source files</td> | |||
| <td>all</td> | |||
| <td rowspan="4">At least one of the four or | |||
| nested <code><sourcepath></code>, <code><fileset></code>, | |||
| <code>module</code> or <code><packageset></code></td> | |||
| @@ -97,62 +89,52 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <td>sourcepathref</td> | |||
| <td>Specify where to find source files by <a href="../using.html#references">reference</a> to a | |||
| <var>sourcepath</var> defined elsewhere.</td> | |||
| <td class="left">all</td> | |||
| </tr> | |||
| <tr> | |||
| <td>sourcefiles</td> | |||
| <td>Comma separated list of source files—see also the nested <code>source</code> | |||
| element.</td> | |||
| <td class="left">all</td> | |||
| </tr> | |||
| <tr> | |||
| <td>modulenames</td> | |||
| <td>Comma separated list of module names -- see also | |||
| the nested <code>module</code> element. <em>since Ant 1.10.6</em></td> | |||
| <td>all</td> | |||
| </tr> | |||
| <tr> | |||
| <td>destdir</td> | |||
| <td>Destination directory for output files</td> | |||
| <td>all</td> | |||
| <td>Yes, unless a <var>doclet</var> has been specified.</td> | |||
| </tr> | |||
| <tr> | |||
| <td>maxmemory</td> | |||
| <td>Max amount of memory to allocate to the <kbd>javadoc</kbd> JVM</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>packagenames</td> | |||
| <td>Comma separated list of package files (with terminating wildcard)—see also the | |||
| nested <code>package</code> element.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>packageList</td> | |||
| <td>The name of a file containing the packages to process</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>classpath</td> | |||
| <td>Specify where to find user class files</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Bootclasspath</td> | |||
| <td>Override location of class files loaded by the bootstrap class loader</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>classpathref</td> | |||
| <td>Specify where to find user class files by <a href="../using.html#references">reference</a> | |||
| to a <var>classpath</var> defined elsewhere.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -160,136 +142,114 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <td>Override location of class files loaded by the bootstrap class loader | |||
| by <a href="../using.html#references">reference</a> to a <var>bootclasspath</var> defined | |||
| elsewhere.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Extdirs</td> | |||
| <td>Override location of installed extensions</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Overview</td> | |||
| <td>Read overview documentation from HTML file</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>access</td> | |||
| <td>Access mode: one of <q>public</q>, <q>protected</q>, <q>package</q>, or <q>private</q></td> | |||
| <td>all</td> | |||
| <td>No; default is <q>protected</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>Public</td> | |||
| <td>Show only public classes and members</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Protected</td> | |||
| <td>Show protected/public classes and members (default)</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Package</td> | |||
| <td>Show package/protected/public classes and members</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Private</td> | |||
| <td>Show all classes and members</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <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 <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>Generate output using JDK 1.1 emulating doclet.<br/><strong>Note</strong>: | |||
| This attribute has no effect unless you're using an pre jdk 1.4 external <kbd>javadoc</kbd> | |||
| </td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Verbose</td> | |||
| <td>Output messages about what <kbd>javadoc</kbd> is doing</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Locale</td> | |||
| <td>Locale to be used, e.g. <q>en_US</q> or <q>en_US_WIN</q></td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Encoding</td> | |||
| <td>Source file encoding name</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Version</td> | |||
| <td>Include <code>@version</code> paragraphs</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Use</td> | |||
| <td>Create class and package usage pages</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Author</td> | |||
| <td>Include <code>@author</code> paragraphs</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Splitindex</td> | |||
| <td>Split index into one file per letter</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Windowtitle</td> | |||
| <td>Browser window title for the documentation (text)</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Doctitle</td> | |||
| <td>Include title for the package index (first) page (HTML code)</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Header</td> | |||
| <td>Include header text for each page (HTML code)</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>Footer</td> | |||
| <td>Include footer text for each page (HTML code)</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>bottom</td> | |||
| <td>Include bottom text for each page (HTML code)</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>link</td> | |||
| <td>Create links to <code>javadoc</code> output at the given URL—see also the | |||
| nested <code>link</code> element.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -298,7 +258,6 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| at <samp><em>alt-url</em></samp> by specifying a | |||
| value <q><em>url</em> <em>alt-url</em></q> (space as separator). A shorthand for the | |||
| nested <code>link</code> element with <var>offline</var>=<q>true</q>.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -306,94 +265,79 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <td>Group specified packages together in overview page. The format is as | |||
| described <a href="#groupattribute">below</a>—see also the nested <code>group</code> | |||
| element.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>nodeprecated</td> | |||
| <td>Do not include <code>@deprecated</code> information</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>nodeprecatedlist</td> | |||
| <td>Do not generate deprecated list</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>notree</td> | |||
| <td>Do not generate class hierarchy</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>noindex</td> | |||
| <td>Do not generate index</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>nohelp</td> | |||
| <td>Do not generate help link</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>nonavbar</td> | |||
| <td>Do not generate navigation bar</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>serialwarn</td> | |||
| <td>Generate warning about <code>@serial</code> tag</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>helpfile</td> | |||
| <td>Specifies the HTML help file to use</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>stylesheetfile</td> | |||
| <td>Specifies the CSS stylesheet to use</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>charset</td> | |||
| <td>Charset for cross-platform viewing of generated documentation</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>docencoding</td> | |||
| <td>Output file encoding name</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>doclet</td> | |||
| <td>Specifies the class file that starts the doclet used in generating the | |||
| documentation—see also the nested <code>doclet</code> element.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>docletpath</td> | |||
| <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 <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> | |||
| @@ -401,33 +345,28 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <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> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>failonerror</td> | |||
| <td>Stop the build process if the command exits with a return code other than <q>0</q>.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>failonwarning</td> | |||
| <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> | |||
| </tr> | |||
| <tr> | |||
| <td>excludepackagenames</td> | |||
| <td>comma separated list of packages you don't want docs for—see also the | |||
| nested <code>excludepackage</code> element.</td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>defaultexcludes</td> | |||
| <td>indicates whether default excludes should be used (<q>yes|no</q>).</td> | |||
| <td>all</td> | |||
| <td>No; defaults to <q>yes</q></td> | |||
| </tr> | |||
| <tr> | |||
| @@ -440,62 +379,54 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| If enabled, the file will be written to | |||
| the <a href="../running.html#tmpdir">temporary | |||
| directory</a>.</td> | |||
| <td>all</td> | |||
| <td>No; default is <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>source</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> | |||
| </tr> | |||
| <tr> | |||
| <td>linksource</td> | |||
| <td>Generate hyperlinks to source files. <em>since Ant 1.6</em>. (<q>yes|no</q>).</td> | |||
| <td>1.4+</td> | |||
| <td>No; default is <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>breakiterator</td> | |||
| <td>Use the new break iterator algorithm. <em>since Ant 1.6</em>. (<q>yes|no</q>).</td> | |||
| <td>1.4+</td> | |||
| <td>No; default is <q>no</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>noqualifier</td> | |||
| <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> | |||
| </tr> | |||
| <tr> | |||
| <td>includenosourcepackages</td> | |||
| <td>If set to <q>true</q>, packages that don't contain Java source but | |||
| a <samp>package.html</samp> will get documented as well. <em>since Ant 1.6.3</em>.</td> | |||
| <td>all</td> | |||
| <td>No; default is <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>executable</td> | |||
| <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> | |||
| (found in the same JDK as Ant is running in). <em>since Ant 1.6.3</em>. <b>Note:</b> | |||
| <em>It is up to you to ensure that this command supports the attributes you wish to use.</em></td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>docfilessubdirs</td> | |||
| <td>Enables deep-copying of <samp>doc-files</samp> subdirectories. <em>since Ant | |||
| 1.8.0</em>.</td> | |||
| <td>1.4</td> | |||
| <td>No; defaults to <q>false</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>excludedocfilessubdir</td> | |||
| <td>Colon-separated list of <samp>doc-files</samp> subdirectories to exclude | |||
| if <var>docfilessubdirs</var> is true. <em>since Ant 1.8.0</em>.</td> | |||
| <td>1.4</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -506,14 +437,12 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| (<a href="https://www.oracle.com/technetwork/java/javase/7u25-relnotes-1955741.html#jpi-upt" | |||
| target="_top">details</a>). When this flag is set to <q>true</q>, Ant will check whether the | |||
| docs are vulnerable and will try to fix them.</td> | |||
| <td>1.4</td> | |||
| <td>No; defaults to <q>true</q></td> | |||
| </tr> | |||
| <tr> | |||
| <td>modulesourcepath</td> | |||
| <td>Specify where to find module source files | |||
| <em>since Ant 1.10.6</em></td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -521,14 +450,12 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <td>Specify where to find module source files by <a | |||
| href="../using.html#references">reference</a> to a PATH defined elsewhere. | |||
| <em>since Ant 1.10.6</em></td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>modulepath</td> | |||
| <td>Specify where to find module files | |||
| <em>since Ant 1.10.6</em></td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -536,7 +463,6 @@ with the <var>exclude</var> patterns of the <code>packageset</code> (and vice ve | |||
| <td>Specify where to find module files by <a | |||
| href="../using.html#references">reference</a> to a PATH defined elsewhere. | |||
| <em>since Ant 1.10.6</em></td> | |||
| <td>all</td> | |||
| <td>No</td> | |||
| </tr> | |||
| </table> | |||
| @@ -28,11 +28,7 @@ | |||
| <h3>Description</h3> | |||
| <p>Generates JNI headers from a Java class.</p> | |||
| <p>When this task executes, it will generate the C header and source files that are needed to | |||
| implement native methods. JNI operates differently depending on | |||
| whether <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javah.html" | |||
| target="_top">JDK 1.2+</a> | |||
| or <a href="https://web.archive.org/web/20021018232717/http://java.sun.com/products/jdk/1.1/docs/tooldocs/win32/javah.html" | |||
| target="_top">pre-1.2 JDK</a> systems are used.</p> | |||
| implement native methods. | |||
| <p>If you are building with Java 8 or above consider | |||
| using <a href="javac.html"><code>javac</code></a>'s <var>nativeheaderdir</var> attribute instead | |||
| @@ -86,13 +82,15 @@ done is breaking the amount of classes to compile into smaller chunks.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>force</td> | |||
| <td>specifies that output files should always be written (JDK 1.2 only)</td> | |||
| <td>specifies that output files should always be written | |||
| (only when using an external javah of JDK 1.2)</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| <td>old</td> | |||
| <td>specifies that old JDK 1.0-style header files should be generated (otherwise output file | |||
| contain JNI-style native method function prototypes) (JDK 1.2 only)</td> | |||
| contain JNI-style native method function prototypes) | |||
| (only when using an external javah of JDK 1.2)</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -33,26 +33,6 @@ results.</p> | |||
| distribution. See <a href="../install.html#librarydependencies">Library Dependencies</a> for more | |||
| information.</p> | |||
| <h3>Requirements</h3> | |||
| <p>The task needs Apache <a href="https://xml.apache.org/xalan-j/" target="_top">Xalan 2.4.1+ or | |||
| Xalan XSLTC</a> (JDK 1.4 contains a version of Xalan 2.x, while JDK 1.5 ships with a version of | |||
| XSLTC). JDK 1.4.2-01 and later ships with a bundled Xalan 2.4.1+, meaning that JDKs prior to version | |||
| 1.4.2-01 won't work out of the box. The table below summarize the compatibility status.</p> | |||
| <table> | |||
| <tr><th scope="col">Xalan</th><th scope="col">Sun JDK Bundle</th><th scope="col">Status</th></tr> | |||
| <tr><td>2.4.1+</td><td>JDK 1.4.2-01+</td><td>OK</td></tr> | |||
| <tr><td>XSLTC</td><td>JDK 1.5.x</td><td>OK</td></tr> | |||
| <tr><td>2.x</td><td>JDK 1.4.x</td><td><em><u>Deprecated</u>, | |||
| use <samp>${ant.home}/etc/junit-frames-xalan1.xsl</samp><br/>Upgrade Xalan using the JDK endorsement | |||
| mechanism</em></td></tr> | |||
| </table> | |||
| <p>In Ant 1.6.2, we had to decide between supporting Xalan 1/Xalan 2.4.1- and Xalan 2.4.1+/XSLTC, | |||
| because there was no way to support both couples at the same time.</p> | |||
| <p><em>Since Ant 1.7</em>, we dropped support for Xalan 1, because Xalan 1 was not available anymore | |||
| for quite some time.</p> | |||
| <h3>Parameters</h3> | |||
| <table class="attr"> | |||
| <tr> | |||
| @@ -33,8 +33,8 @@ target="_top">JSR 223</a> supported language. | |||
| <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> | |||
| <p>The task may use the BSF scripting manager or the JSR 223 manager that is included in JDK 6 and | |||
| higher. This is controlled by the <var>manager</var> attribute. The JSR 223 scripting manager is | |||
| <p>The task may use the BSF scripting manager or the JSR 223 manager that is included in the JDK. | |||
| This is controlled by the <var>manager</var> attribute. The JSR 223 scripting manager is | |||
| 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 | |||
| @@ -81,8 +81,7 @@ In particular all targets should have different location values.</p> | |||
| values: <q>auto</q>, <q>bsf</q> or <q>javax</q>. | |||
| <ul> | |||
| <li><q>bsf</q> use the BSF scripting manager to run the language.</li> | |||
| <li><q>javax</q> use the <code>javax.scripting</code> manager to run the language. (This | |||
| will only work for JDK 6 and higher).</li> | |||
| <li><q>javax</q> use the <code>javax.scripting</code> manager to run the language.</li> | |||
| <li><q>auto</q> use the BSF engine if it exists, otherwise use | |||
| the <code>javax.scripting</code> manager.</li> | |||
| </ul> | |||
| @@ -75,7 +75,7 @@ that makes it clear to readers of the build exactly what is going on.</p> | |||
| </tr> | |||
| <tr> | |||
| <td>useproxy</td> | |||
| <td>Use a proxy to access <var>imgurl</var>.<br/>Note: Only tested on JDK 1.2.2 and above</td> | |||
| <td>Use a proxy to access <var>imgurl</var>.</td> | |||
| <td>No</td> | |||
| </tr> | |||
| <tr> | |||
| @@ -29,12 +29,6 @@ | |||
| <h3>Description</h3> | |||
| <p>Process a set of documents via XSLT.</p> | |||
| <p>This is useful for building views of XML based documentation, or for generating code.</p> | |||
| <p><strong>Note</strong>: If you are using JDK 1.4 or higher, this task does not require external | |||
| libraries not supplied in the Apache Ant distribution. However, often the built in XSL engine is not | |||
| as up to date as a fresh download, so an update is still highly recommended in particular since the | |||
| built-in XSLT processors of Java 5 (and to a certain extent Java 6) are known to have serious | |||
| issues. See <a href="../install.html#librarydependencies">Library Dependencies</a> for more | |||
| information.</p> | |||
| <p>It is possible to refine the set of files that are being processed. This can be done with | |||
| the <var>includes</var>, <var>includesfile</var>, <var>excludes</var>, <var>excludesfile</var> | |||
| and <var>defaultexcludes</var> attributes. With the <var>includes</var> or <var>includesfile</var> | |||
| @@ -338,13 +338,6 @@ 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 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/" | |||
| target="_top">gnu.regexp</a> or <a href="https://github.com/kzn/regex4j/" target="_top">gnu.rex</a> | |||
| with Ant, see <a href="https://marc.info/?l=ant-dev&m=97550753813481&w=2" target="_top">this</a> | |||
| @@ -364,7 +357,7 @@ in a nested <code><classpath></code>.</p> | |||
| <li>If the system property <code>ant.regexp.matcherimpl</code> has been set, it is taken as the name | |||
| 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> | |||
| <li>If it has not been set, uses the default from the <code>java.util.regex</code> package.</li> | |||
| </ul> | |||
| <h5>Examples</h5> | |||
| @@ -57,7 +57,7 @@ Regexp represents a regular expression. | |||
| <h3 id="implementation">Choice of regular expression implementation</h3> | |||
| <p>Apache Ant comes with wrappers for | |||
| the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/package-summary.html" | |||
| target="_top">java.util.regex | |||
| target="_top"><code>java.util.regex</code> | |||
| package</a>, <a href="https://attic.apache.org/projects/jakarta-regexp.html" | |||
| target="_top">jakarta-regexp</a> and <a href="https://attic.apache.org/projects/jakarta-oro.html" | |||
| target="_top">jakarta-ORO</a>, see <a href="../install.html#librarydependencies">installation | |||
| @@ -82,7 +82,7 @@ you rely on it.</p> | |||
| <ul> | |||
| <li>Jakarta Oro defines a line terminator as <q>\n</q> and is consistent with Perl.</li> | |||
| <li>Jakarta RegExp uses a system-dependent line terminator.</li> | |||
| <li>JDK 1.4 uses <q>\n</q>, <q>\r\n</q>, <q>\u0085</q>, <q>\u2028</q>, <q>\u2029</q> as a | |||
| <li><code>java.util.regex</code> uses <q>\n</q>, <q>\r\n</q>, <q>\u0085</q>, <q>\u2028</q>, <q>\u2029</q> as a | |||
| default but is configured in the wrapper to use only <q>\n</q> (UNIX_LINE)</li> | |||
| </ul> | |||
| <p><em>We used to recommend that you use Jakarta ORO but since its development has been retired | |||
| @@ -165,9 +165,9 @@ is</p> | |||
| inner <code class="code">AddAsisRemove</code> class used in <code class="code">setCr</code> for | |||
| an example.</li> | |||
| <li>A (Java 5) enumeration, Ant will call the setter with the enum constant matching the value | |||
| <li>An enumeration, Ant will call the setter with the enum constant matching the value | |||
| given in the build file. This is easier than using <code class="code">EnumeratedAttribute</code> | |||
| and can result in cleaner code, but of course your task will not run on JDK 1.4 or earlier. Note | |||
| and can result in cleaner code. Note | |||
| that any override of <code class="code">toString()</code> in the enumeration is ignored; the | |||
| build file must use the declared name (see <code>Enum.getName()</code>). You may wish to use | |||
| lowercase enum constant names, in contrast to usual Java style, to look better in build | |||
| @@ -242,6 +242,7 @@ The more up-to-date the version of Java, the more Ant tasks you get. | |||
| </p> | |||
| <p> | |||
| <strong>Note</strong>: | |||
| Ant 1.10.* works with JDK 8 and higher, | |||
| Ant 1.9.* works with JDK 1.5 and higher, Ant 1.8.* works with JDK 1.4 and higher, Ant 1.7.* works with JDK 1.3 and higher, | |||
| Ant 1.6.* works with JDK 1.2 and higher, Ant 1.2 to Ant 1.5.* work with JDK 1.1 and higher. | |||
| </p> | |||
| @@ -573,19 +574,19 @@ have to spend much time configuring the JVM properties until they are happy. | |||
| <p>Assume Ant is installed in <samp>c:\ant\</samp>. The following sets up the | |||
| environment:</p> | |||
| <pre class="input">set ANT_HOME=c:\ant | |||
| set JAVA_HOME=c:\jdk1.7.0_51 | |||
| set JAVA_HOME=c:\jdk11.0.8_10 | |||
| set PATH=%PATH%;%ANT_HOME%\bin</pre> | |||
| <h3 id="bash">Linux/Unix (bash)</h3> | |||
| <p>Assume Ant is installed in <samp>/usr/local/ant</samp>. The following sets up | |||
| the environment:</p> | |||
| <pre class="input">export ANT_HOME=/usr/local/ant | |||
| export JAVA_HOME=/usr/local/jdk1.7.0_51 | |||
| export JAVA_HOME=/usr/local/jdk-11.0.8+10 | |||
| export PATH=${PATH}:${ANT_HOME}/bin</pre> | |||
| <h3 id="tcshcsh">Linux/Unix (csh)</h3> | |||
| <pre class="input">setenv ANT_HOME /usr/local/ant | |||
| setenv JAVA_HOME /usr/local/jdk/jdk1.7.0_51 | |||
| setenv JAVA_HOME=/usr/local/jdk-11.0.8+10 | |||
| set path=( $path $ANT_HOME/bin )</pre> | |||
| <p> | |||
| @@ -777,14 +778,14 @@ these tasks available. Please refer to the <a href="#optionalTasks">Installing A | |||
| <tr> | |||
| <td>jakarta-regexp-1.4.jar</td> | |||
| <td><a href="Types/mapper.html#regexp-mapper">regexp</a> type with mappers (if you do not wish to use | |||
| java.util.regex)</td> | |||
| <code>java.util.regex</code>)</td> | |||
| <td><a href="https://attic.apache.org/projects/jakarta-regexp.html" | |||
| target="_top">https://attic.apache.org/projects/jakarta-regexp.html</a></td> | |||
| </tr> | |||
| <tr> | |||
| <td>jakarta-oro-2.0.8.jar</td> | |||
| <td><a href="Types/mapper.html#regexp-mapper">regexp</a> type with mappers (if you do not wish to use | |||
| java.util.regex) or <a href="Tasks/ftp.html">ftp</a> task with <a href="#commons-net">commons-net</a> 1.4.1</td> | |||
| <code>java.util.regex</code>) or <a href="Tasks/ftp.html">ftp</a> task with <a href="#commons-net">commons-net</a> 1.4.1</td> | |||
| <td><a href="https://attic.apache.org/projects/jakarta-oro.html" | |||
| target="_top">https://attic.apache.org/projects/jakarta-oro.html</a></td> | |||
| </tr> | |||
| @@ -128,44 +128,6 @@ MacOS X a.k.a. macOS is the first of the Apple platforms that Ant supports compl | |||
| like any other Unix. | |||
| </p> | |||
| <h2>Novell Netware</h2> | |||
| <p> | |||
| To give the same level of sophisticated control as Ant's startup scripts on other platforms, it was | |||
| decided to make the main ant startup on NetWare be via a Perl Script, <code>runant.pl</code>. This | |||
| is found in the <samp>bin</samp> directory (for instance—<samp>bootstrap\bin</samp> | |||
| or <samp>dist\bin</samp>). | |||
| </p> | |||
| <p>One important item of note is that you need to set up the following to run Ant:</p> | |||
| <ul> | |||
| <li><code>CLASSPATH</code>—put <samp>ant.jar</samp> and any other needed jars on the system | |||
| classpath.</li> | |||
| <li><code>ANT_OPTS</code>—On NetWare, <code>ANT_OPTS</code> needs to include a parameter of | |||
| the form, <kbd>-envCWD=<i>ANT_HOME</i></kbd>, with <kbd><i>ANT_HOME</i></kbd> being the | |||
| fully expanded location of Ant, <strong>not</strong> an environment variable. This is due to | |||
| the fact that the NetWare System Console has no notion of a current working directory.</li> | |||
| </ul> | |||
| <p>It is suggested that you create up an <samp>ant.ncf</samp> that sets up these parameters, and | |||
| calls <samp>perl ANT_HOME/dist/bin/runant.pl</samp></p> | |||
| <p>The following is an example of such an NCF file (assuming Ant is installed | |||
| in <samp>sys:/apache-ant/</samp>):</p> | |||
| <pre> | |||
| envset CLASSPATH=sys:/apache-ant/bootstrap/lib/ant.jar | |||
| envset CLASSPATH=$CLASSPATH;sys:/apache-ant/lib/optional/junit.jar | |||
| envset CLASSPATH=$CLASSPATH;sys:/apache-ant/bootstrap/lib/optional.jar | |||
| setenv ANT_OPTS=-envCWD=sys:/apache-ant | |||
| envset ANT_OPTS=-envCWD=sys:/apache-ant | |||
| setenv ANT_HOME=sys:/apache-ant/dist/lib | |||
| envset ANT_HOME=sys:/apache-ant/dist/lib | |||
| perl sys:/apache-ant/dist/bin/runant.pl</pre> | |||
| <p>Ant works on JVM version 1.3 or higher. You may have some luck running it on JVM 1.2, but | |||
| serious problems have been found running Ant on JVM 1.1.7B. These problems are caused by JVM bugs | |||
| that will not be fixed.</p> | |||
| <p>JVM 1.3 is supported on Novell NetWare versions 5.1 and higher.</p> | |||
| <h2>Other platforms</h2> | |||
| <p> | |||
| Support for other platforms is not guaranteed to be complete, as certain techniques to hide platform | |||
| @@ -326,7 +326,7 @@ And I filtered out the <code>getPropertyHelper</code> access.</p> | |||
| <tr> | |||
| <td><code>ant.regexp.regexpimpl</code></td> | |||
| <td>classname</td> | |||
| <td>classname for a RegExp implementation; by default, JDK 1.4+ | |||
| <td>classname for a RegExp implementation; by default the <code>java.util.regex</code> | |||
| implementation; <a href="Types/mapper.html#regexp-mapper">RegExp | |||
| Mapper</a> "Choice of regular expression implementation".</td> | |||
| </tr> | |||
| @@ -239,8 +239,7 @@ BUILD SUCCESSFUL</pre> | |||
| API—customizable to a high degree (including switching off during usual life (= not development) execution). We | |||
| use Log4J for that, because</p> | |||
| <ul> | |||
| <li>it is not part of the JDK (1.4+) and we want to show how to use external libs</li> | |||
| <li>it can run under JDK 1.2 (as Ant)</li> | |||
| <li>it is not part of the JDK and we want to show how to use external libs</li> | |||
| <li>it's highly configurable</li> | |||
| <li>it's from Apache ;-)</li> | |||
| </ul> | |||
| @@ -658,7 +658,7 @@ After that it prints out the result (e.g. <samp>C:/ant-1.5.4/bin/ant.jar;C | |||
| <li>is the right package used?</li> | |||
| <li>does the code conform to the styleguide?</li> | |||
| <li>do all tests pass?</li> | |||
| <li>does the code compile on JDK 5 (and passes all tests there)?</li> | |||
| <li>does the code compile on the minimal and current JDK for the Ant distribution (and passes all tests there)?</li> | |||
| <li>code under Apache license</li> | |||
| <li>create a patch file</li> | |||
| <li>publishing that patch file</li> | |||
| @@ -671,12 +671,12 @@ additional information on that.</p> | |||
| <li>Java file begins with Apache license statement. <strong><em>must do that</em></strong></li> | |||
| <li>Task does not depend on GPL or LGPL code. <strong><em>ok</em></strong></li> | |||
| <li>Source code complies with style guidelines <strong><em>have to check (checkstyle)</em></strong></li> | |||
| <li>Code compiles and runs on Java 5 <strong><em>have to try</em></strong></li> | |||
| <li>Code compiles and runs on minimal support java version <strong><em>have to try</em></strong></li> | |||
| <li>Member variables are private, and provide public accessor methods if access is actually needed. <strong><em>have to | |||
| check (checkstyle)</em></strong></li> | |||
| <li><em>Maybe</em> Task has <var>failonerror</var> attribute to control failure | |||
| behaviour <strong><em>hasn't</em></strong></li> | |||
| <li>New test cases written and succeed <strong><em>passed on JDK 8, have to try on JDK 5</em></strong></li> | |||
| <li>New test cases written and succeed <strong><em>passed on newest jdk version, have to try on oldest supported jdk version</em></strong></li> | |||
| <li>Documentation page written <strong><em>ok</em></strong></li> | |||
| <li>Example task declarations in the documentation tested. <strong><em>ok (used in tests)</em></strong></li> | |||
| <li>Message to dev contains [SUBMIT] and task name in subject <strong><em>to do</em></strong></li> | |||
| @@ -764,9 +764,10 @@ after <code>git clone</code> (without our modifications).</p> | |||
| <h3>Apache license statement</h3> | |||
| <p>Simply copy the license text from one the other source from the Ant source tree.</p> | |||
| <h3>Test on JDK 5</h3> | |||
| <p>Ant 1.10 uses Java 8 for development, but Ant 1.9 is actively maintained, too. That means that Ant code must be able | |||
| to run on a JDK 5. So we have to test that. You can download older JDKs | |||
| <h3>Test on the minimal JDK version</h3> | |||
| <p>Ant 1.10 uses Java 8 for development, but Ant 1.9 is actively maintained, too. That means that updates to Ant code | |||
| present in Ant 1.9 must be able to run on a JDK 5. (It is fine to address only ant 1.10 and above for new teasks.) | |||
| So we have to test that. You can download older JDKs | |||
| from <a href="https://www.oracle.com/technetwork/java/archive-139210.html" target="_top">Oracle [8]</a>.</p> | |||
| <p>Clean the <code>ANT_HOME</code> variable, delete the <samp>build</samp>, <samp>bootstrap</samp> and <samp>dist</samp> | |||