Updated Java task manual. Added since tags.
Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/aef407be Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/aef407be Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/aef407be Branch: refs/heads/master Commit: aef407be4d33de09861a1f9677b2f15ea5ea8fdf Parents: dd8b5f4 Author: Tomas Zezula <[email protected]> Authored: Tue Mar 8 21:39:19 2016 +0100 Committer: Tomas Zezula <[email protected]> Committed: Tue Mar 8 21:39:19 2016 +0100 ---------------------------------------------------------------------- manual/Tasks/java.html | 62 +++++++++++++++++++- .../org/apache/tools/ant/taskdefs/Java.java | 8 +-- .../apache/tools/ant/types/CommandlineJava.java | 24 ++++---- 3 files changed, 75 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant/blob/aef407be/manual/Tasks/java.html ---------------------------------------------------------------------- diff --git a/manual/Tasks/java.html b/manual/Tasks/java.html index a83b0af..36d50ce 100644 --- a/manual/Tasks/java.html +++ b/manual/Tasks/java.html @@ -54,9 +54,9 @@ attributes.</p> <td align="center" valign="top"><b>Required</b></td> </tr> <tr> - <td valign="top">classname</td> + <td valign="top"><a name="classname">classname</a></td> <td valign="top">the Java class to execute.</td> - <td align="center" valign="top">Either <tt>jar</tt> or <tt>classname</tt></td> + <td align="center" valign="top">Either <tt>jar</tt>, <tt>classname</tt> or <tt>module</tt></td> </tr> <tr> <td valign="top">jar</td> @@ -64,7 +64,7 @@ attributes.</p> Main-Class entry in the manifest). Fork must be set to true if this option is selected. See notes below for more details. </td> - <td align="center" valign="top">Either <tt>jar</tt> or <tt>classname</tt></td> + <td align="center" valign="top">Either <tt>jar</tt>, <tt>classname</tt> or <tt>module</tt></td> </tr> <tr> <td valign="top">args</td> @@ -120,6 +120,25 @@ attributes.</p> <td align="center" valign="top">No</td> </tr> <tr> + <td valign="top">module</td> + <td valign="top">The initial or main module to resolve. To specify + the module main class use the <a href="#classname">classname</a> attribute. + Fork must be set to true if this option is selected.<em>since Ant 1.9.7</em></td> + <td align="center" valign="top">Either <tt>jar</tt>, <tt>classname</tt> or <tt>module</tt></td> + </tr> + <tr> + <td valign="top">modulepath</td> + <td valign="top">Specify where to find application modules. A list of directories of modules, module files or exploded modules.<em>since Ant 1.9.7</em></td> + <td align="center" valign="top">No</td> + </tr> + <tr> + <td valign="top">modulepathref</td> + <td valign="top">The modulepath to use, given as <a + href="../using.html#references">reference</a> to a PATH defined elsewhere. + <em>since Ant 1.9.7</em></td> + <td align="center" valign="top">No</td> + </tr> + <tr> <td valign="top">failonerror</td> <td valign="top">Stop the buildprocess if the command exits with a returncode other than 0. Default is "false" (see <a href="#failonerror">note</a>)</td> @@ -312,6 +331,18 @@ error and would mean the build exits. , then <code><java></code> <b>must</b> return 0 otherwise the build will exit, as the class was run by the build JVM.</p> +<a name="modulepath"><h4>modulepath</h4> +<i><b>Since Ant 1.9.7</b></i> +<p><code>Java</code>'s <i>modulepath</i> attribute is a <a +href="../using.html#path">PATH like structure</a> and can also be set via a nested +<i>modulepath</i> element.</p> + +<a name="upgrademodulepath"><h4>upgrademodulepath</h4> +<i><b>Since Ant 1.9.7</b></i> +<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 structure</a>.</p> + + <h3>JAR file execution</h3> <p>The parameter of the <tt>jar</tt> attribute is of type <tt>File</tt>; @@ -400,6 +431,31 @@ log-prefix to <code>[java1.4]</code>. JVM, as it takes different parameters for other JVMs, That JVM can be started from <code><exec></code> if required.</p> +<pre> + <java + fork="true" + failonerror="true" + maxmemory="128m" + module="TestModule" + modulepath="lib:dist/test.jar"/> +</pre> +Runs the module TestModule resolved on the modulepath <tt>lib/:dist/test.jar</tt> +with a maximum memory of 128MB. Any non zero return code breaks the build. +<pre> + <java + fork="true" + failonerror="true" + maxmemory="128m" + module="TestModule" + classname="Main"> + <modulepath> + <pathelement location="lib"/> + <pathelement location="dist/test.jar"/> + </modulepath> + </java> +</pre> +Runs the class Main in module TestModule resolved on the modulepath <tt>lib/:dist/test.jar</tt> +with a maximum memory of 128MB. Any non zero return code breaks the build. </body> </html> http://git-wip-us.apache.org/repos/asf/ant/blob/aef407be/src/main/org/apache/tools/ant/taskdefs/Java.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/Java.java b/src/main/org/apache/tools/ant/taskdefs/Java.java index 99e2342..623a7c1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Java.java +++ b/src/main/org/apache/tools/ant/taskdefs/Java.java @@ -298,7 +298,7 @@ public class Java extends Task { * Set the modulepath to be used when running the Java class. * * @param mp an Ant Path object containing the modulepath. - * @since ??? + * @since 1.9.7 */ public void setModulepath(Path mp) { createModulepath().append(mp); @@ -308,7 +308,7 @@ public class Java extends Task { * Add a path to the modulepath. * * @return created modulepath. - * @since ??? + * @since 1.9.7 */ public Path createModulepath() { return getCommandLine().createModulepath(getProject()).createPath(); @@ -318,7 +318,7 @@ public class Java extends Task { * Add a path to the upgrademodulepath. * * @return created upgrademodulepath. - * @since ??? + * @since 1.9.7 */ public Path createUpgrademodulepath() { return getCommandLine().createUpgrademodulepath(getProject()).createPath(); @@ -379,7 +379,7 @@ public class Java extends Task { * @param module the name of the module. * * @throws BuildException if the jar attribute has been set. - * @since ??? + * @since 1.9.7 */ public void setModule(String module) throws BuildException { if (getCommandLine().getJar() != null) { http://git-wip-us.apache.org/repos/asf/ant/blob/aef407be/src/main/org/apache/tools/ant/types/CommandlineJava.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/types/CommandlineJava.java b/src/main/org/apache/tools/ant/types/CommandlineJava.java index cf36a67..97b2bcd 100644 --- a/src/main/org/apache/tools/ant/types/CommandlineJava.java +++ b/src/main/org/apache/tools/ant/types/CommandlineJava.java @@ -374,7 +374,7 @@ public class CommandlineJava implements Cloneable { /** * Set the module to execute. * @param module the module name. - * @since ??? + * @since 1.9.7 */ public void setModule(final String module) { if (executableType == null) { @@ -404,7 +404,7 @@ public class CommandlineJava implements Cloneable { * @return the name of the module to run or <tt>null</tt> if there is no module. * @see #getJar() * @see #getClassname() - * @since ??? + * @since 1.9.7 */ public String getModule() { if(executableType == ExecutableType.MODULE) { @@ -442,7 +442,7 @@ public class CommandlineJava implements Cloneable { * Create a modulepath. * @param p the project to use to create the path. * @return a path to be configured. - * @since ??? + * @since 1.9.7 */ public Path createModulepath(Project p) { if (modulepath == null) { @@ -455,7 +455,7 @@ public class CommandlineJava implements Cloneable { * Create an upgrademodulepath. * @param p the project to use to create the path. * @return a path to be configured. - * @since ??? + * @since 1.9.7 */ public Path createUpgrademodulepath(Project p) { if (upgrademodulepath == null) { @@ -672,7 +672,7 @@ public class CommandlineJava implements Cloneable { /** * Get the modulepath. * @return modulepath or null. - * @since ??? + * @since 1.9.7 */ public Path getModulepath() { return modulepath; @@ -681,7 +681,7 @@ public class CommandlineJava implements Cloneable { /** * Get the upgrademodulepath. * @return upgrademodulepath or null. - * @since ??? + * @since 1.9.7 */ public Path getUpgrademodulepath() { return upgrademodulepath; @@ -783,7 +783,7 @@ public class CommandlineJava implements Cloneable { /** * Determine whether the modulepath has been specified. * @return true if the modulepath is to be used. - * @since ??? + * @since 1.9.7 */ public boolean haveModulepath() { Path fullClasspath = modulepath != null @@ -795,7 +795,7 @@ public class CommandlineJava implements Cloneable { /** * Determine whether the upgrademodulepath has been specified. * @return true if the upgrademodulepath is to be used. - * @since ??? + * @since 1.9.7 */ public boolean haveUpgrademodulepath() { Path fullClasspath = upgrademodulepath != null @@ -846,7 +846,7 @@ public class CommandlineJava implements Cloneable { * @param module the module name. * @param classname the classname or <code>null</code>. * @return the main module with optional classname command line argument. - * @since ??? + * @since 1.9.7 */ private static String createModuleClassPair(final String module, final String classname) { return classname == null ? @@ -858,7 +858,7 @@ public class CommandlineJava implements Cloneable { * Parses a module name from JDK 9 main module command line argument. * @param moduleClassPair a module with optional classname or <code>null</code>. * @return the module name or <code>null</code>. - * @since ??? + * @since 1.9.7 */ private static String parseModuleFromModuleClassPair(final String moduleClassPair) { if (moduleClassPair == null) { @@ -872,7 +872,7 @@ public class CommandlineJava implements Cloneable { * Parses a classname from JDK 9 main module command line argument. * @param moduleClassPair a module with optional classname or <code>null</code>. * @return the classname or <code>null</code>. - * @since ??? + * @since 1.9.7 */ private static String parseClassFromModuleClassPair(final String moduleClassPair) { if (moduleClassPair == null) { @@ -886,7 +886,7 @@ public class CommandlineJava implements Cloneable { /** * Type of execution. - * @since ??? + * @since 1.9.7 */ private enum ExecutableType { /**
