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 2018/09/28 16:30:23 UTC
[3/4] ant git commit: add nested to signjar and verifyjar
add nested <args> to signjar and verifyjar
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/d100b900
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/d100b900
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/d100b900
Branch: refs/heads/master
Commit: d100b900324ad91f3de6e8c323720e1676bbb28d
Parents: a5796b5
Author: Stefan Bodewig <bo...@apache.org>
Authored: Fri Sep 28 18:23:25 2018 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Fri Sep 28 18:23:25 2018 +0200
----------------------------------------------------------------------
WHATSNEW | 4 +++
manual/Tasks/signjar.html | 10 ++++++-
manual/Tasks/verifyjar.html | 10 ++++++-
.../ant/taskdefs/AbstractJarSignerTask.java | 28 ++++++++++++++++++++
.../org/apache/tools/ant/types/Commandline.java | 11 ++++++++
5 files changed, 61 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/d100b900/WHATSNEW
----------------------------------------------------------------------
diff --git a/WHATSNEW b/WHATSNEW
index 6085274..6cd11da 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -28,6 +28,10 @@ Other changes:
and -providerArg command line options of keytool via new attributes.
Bugzilla Report 65234
+ * signjar and verifyjar now supported nested <arg> elements for
+ command line arguments that are not supported explicitly by the
+ tasks via attributes.
+
Changes from Ant 1.9.12 TO Ant 1.9.13
=====================================
http://git-wip-us.apache.org/repos/asf/ant/blob/d100b900/manual/Tasks/signjar.html
----------------------------------------------------------------------
diff --git a/manual/Tasks/signjar.html b/manual/Tasks/signjar.html
index f6a7a37..88bdb43 100644
--- a/manual/Tasks/signjar.html
+++ b/manual/Tasks/signjar.html
@@ -238,7 +238,15 @@ block</td>
<a href="exec.html#env">environment variables</a> </td>
<td valign="top" align="center">No, and only one can be supplied</td>
</tr>
- </table>
+ <tr>
+ <td valign="top">arg</td>
+ <td valign="top">Use this to specify a <code>keytool</code>
+ <a href="../using.html#arg">command line argument</a> not
+ explicitly supported via an attribute.
+ <em>since Ant 1.9.14</em>.</td>
+ <td valign="top" align="center">No</td>
+ </tr>
+</table>
<h3>Examples</h3>
http://git-wip-us.apache.org/repos/asf/ant/blob/d100b900/manual/Tasks/verifyjar.html
----------------------------------------------------------------------
diff --git a/manual/Tasks/verifyjar.html b/manual/Tasks/verifyjar.html
index bf442b7..b2df426 100644
--- a/manual/Tasks/verifyjar.html
+++ b/manual/Tasks/verifyjar.html
@@ -152,7 +152,15 @@ supported
<a href="exec.html#env">environment variables</a> </td>
<td valign="top" align="center">No, and only one can be supplied</td>
</tr>
- </table>
+ <tr>
+ <td valign="top">arg</td>
+ <td valign="top">Use this to specify a <code>keytool</code>
+ <a href="../using.html#arg">command line argument</a> not
+ explicitly supported via an attribute.
+ <em>since Ant 1.9.14</em>.</td>
+ <td valign="top" align="center">No</td>
+ </tr>
+</table>
<h3>Examples</h3>
http://git-wip-us.apache.org/repos/asf/ant/blob/d100b900/src/main/org/apache/tools/ant/taskdefs/AbstractJarSignerTask.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/AbstractJarSignerTask.java b/src/main/org/apache/tools/ant/taskdefs/AbstractJarSignerTask.java
index b15d2bc..b811797 100644
--- a/src/main/org/apache/tools/ant/taskdefs/AbstractJarSignerTask.java
+++ b/src/main/org/apache/tools/ant/taskdefs/AbstractJarSignerTask.java
@@ -19,11 +19,14 @@
package org.apache.tools.ant.taskdefs;
import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Vector;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.filters.LineContainsRegExp;
+import org.apache.tools.ant.types.Commandline;
import org.apache.tools.ant.types.Environment;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
@@ -123,6 +126,8 @@ public abstract class AbstractJarSignerTask extends Task {
*/
private String providerName, providerClass, providerArg;
+ private List<Commandline.Argument> additionalArgs = new ArrayList();
+
/**
* Set the maximum memory to be used by the jarsigner process
*
@@ -271,6 +276,16 @@ public abstract class AbstractJarSignerTask extends Task {
}
/**
+ * Adds a nested <arg> element that can be used to specify
+ * command line arguments not supported via specific attributes.
+ *
+ * @since Ant 1.9.14
+ */
+ public void addArg(Commandline.Argument arg) {
+ additionalArgs.add(arg);
+ }
+
+ /**
* init processing logic; this is retained through our execution(s)
*/
protected void beginExecution() {
@@ -351,6 +366,10 @@ public abstract class AbstractJarSignerTask extends Task {
for (Environment.Variable variable : sysProperties.getVariablesVector()) {
declareSysProperty(cmd, variable);
}
+
+ for (Commandline.Argument arg : additionalArgs) {
+ addArgument(cmd, arg);
+ }
}
/**
@@ -473,4 +492,13 @@ public abstract class AbstractJarSignerTask extends Task {
protected void addValue(final ExecTask cmd, String value) {
cmd.createArg().setValue(value);
}
+
+ /**
+ * add an argument to a command
+ * @param cmd command to manipulate
+ * @param arg argument to add
+ */
+ protected void addArgument(final ExecTask cmd, Commandline.Argument arg) {
+ cmd.createArg().copyFrom(arg);
+ }
}
http://git-wip-us.apache.org/repos/asf/ant/blob/d100b900/src/main/org/apache/tools/ant/types/Commandline.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/types/Commandline.java b/src/main/org/apache/tools/ant/types/Commandline.java
index a1859ba..77d953b 100644
--- a/src/main/org/apache/tools/ant/types/Commandline.java
+++ b/src/main/org/apache/tools/ant/types/Commandline.java
@@ -183,6 +183,17 @@ public class Commandline implements Cloneable {
}
/**
+ * Copies settings from a different argument.
+ *
+ * @since Ant 1.9.14
+ */
+ public void copyFrom(Argument other) {
+ this.parts = other.parts;
+ this.prefix = other.prefix;
+ this.suffix = other.suffix;
+ }
+
+ /**
* Return the constituent parts of this Argument.
* @return an array of strings.
*/