You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2016/03/12 18:59:41 UTC
[2/4] ant git commit: Updated Java task manual. Added since tags.
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 <to...@gmail.com>
Authored: Tue Mar 8 21:39:19 2016 +0100
Committer: Tomas Zezula <to...@gmail.com>
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 {
/**