Package org.apache.tools.ant.taskdefs

# Class AbstractJarSignerTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.AbstractJarSignerTask

All Implemented Interfaces:
  `java.lang.Cloneable`

Direct Known Subclasses:
  `SignJar`, `VerifyJar`

    public abstract class AbstractJarSignerTask
    extends Task

This is factored out from `SignJar`; a base class that can be used for both signing and verifying JAR files using jarsigner

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`protected java.lang.String` | `alias` | The alias of signer.
`static java.lang.String` | `ERROR_NO_SOURCE` | error string for unit test verification: "jar must be set through jar attribute or nested filesets"
`protected java.util.Vector<FileSet>` | `filesets` | the filesets of the jars to sign
`protected java.io.File` | `jar` | The name of the jar file.
`protected static java.lang.String` | `JARSIGNER_COMMAND` | name of JDK program we are looking for
`protected java.lang.String` | `keypass` | password for the key in the store
`protected java.lang.String` | `keystore` | The url or path of keystore file.
`protected java.lang.String` | `maxMemory` | The maximum amount of memory to use for Jar signer
`protected java.lang.String` | `storepass` | password for the store
`protected java.lang.String` | `storetype` | type of store,-storetype param
`protected boolean` | `strict` | strict checking
`protected boolean` | `verbose` | verbose output

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`AbstractJarSignerTask()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `addArg​(Commandline.Argument arg)` | Adds a nested <arg> element that can be used to specify command line arguments not supported via specific attributes.
`protected void` | `addArgument​(ExecTask cmd, Commandline.Argument arg)` | add an argument to a command
`void` | `addFileset​(FileSet set)` | Adds a set of files to sign
`void` | `addSysproperty​(Environment.Variable sysp)` | Add a system property.
`protected void` | `addValue​(ExecTask cmd, java.lang.String value)` | add a value argument to a command
`protected void` | `beginExecution()` | init processing logic; this is retained through our execution(s)
`protected void` | `bindToKeystore​(ExecTask cmd)` | bind to a keystore if the attributes are there
`protected ExecTask` | `createJarSigner()` | create the jarsigner executable task
`Path` | `createPath()` | Adds a path of files to sign.
`protected Path` | `createUnifiedSourcePath()` | clone our path and add all explicitly specified FileSets as well, patch in the jar attribute as a new fileset if it is defined.
`protected java.util.Vector<FileSet>` | `createUnifiedSources()` | clone our filesets vector, and patch in the jar attribute as a new fileset, if is defined
`protected void` | `declareSysProperty​(ExecTask cmd, Environment.Variable property)` |
`protected void` | `endExecution()` | any cleanup logic
`RedirectorElement` | `getRedirector()` | get the redirector.
`protected boolean` | `hasResources()` | Has either a path or a fileset been specified?
`void` | `setAlias​(java.lang.String alias)` | the alias to sign under; required
`protected void` | `setCommonOptions​(ExecTask cmd)` | these are options common to signing and verifying
`void` | `setExecutable​(java.lang.String executable)` | Sets the actual executable command to invoke, instead of the binary `jarsigner` found in Ant's JDK.
`void` | `setJar​(java.io.File jar)` | the jar file to sign; required
`void` | `setKeypass​(java.lang.String keypass)` | password for private key (if different); optional
`void` | `setKeystore​(java.lang.String keystore)` | keystore location; required
`void` | `setMaxmemory​(java.lang.String max)` | Set the maximum memory to be used by the jarsigner process
`void` | `setProviderArg​(java.lang.String providerArg)` | Sets the value for the -providerArg command line argument.
`void` | `setProviderClass​(java.lang.String providerClass)` | Sets the value for the -providerClass command line argument.
`void` | `setProviderName​(java.lang.String providerName)` | Sets the value for the -providerName command line argument.
`void` | `setStorepass​(java.lang.String storepass)` | password for keystore integrity; required
`void` | `setStoretype​(java.lang.String storetype)` | keystore type; optional
`void` | `setStrict​(boolean strict)` | do strict checking
`void` | `setVerbose​(boolean verbose)` | Enable verbose output when signing; optional: default false

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### ERROR_NO_SOURCE

public static final java.lang.String ERROR_NO_SOURCE
error string for unit test verification: "jar must be set through jar attribute or nested filesets"

See Also:
  Constant Field Values

### JARSIGNER_COMMAND

protected static final java.lang.String JARSIGNER_COMMAND
name of JDK program we are looking for

See Also:
  Constant Field Values

### jar

protected java.io.File jar
The name of the jar file.

### alias

protected java.lang.String alias
The alias of signer.

### keystore

protected java.lang.String keystore
The url or path of keystore file.

### storepass

protected java.lang.String storepass
password for the store

### storetype

protected java.lang.String storetype
type of store,-storetype param

### keypass

protected java.lang.String keypass
password for the key in the store

### verbose

protected boolean verbose
verbose output

### strict

protected boolean strict
strict checking

Since:
  Ant 1.9.1

### maxMemory

protected java.lang.String maxMemory
The maximum amount of memory to use for Jar signer

### filesets

protected java.util.Vector<FileSet> filesets
the filesets of the jars to sign

## Constructor Details

### AbstractJarSignerTask

public AbstractJarSignerTask()

## Method Details

### setMaxmemory

public void setMaxmemory​(java.lang.String max)
Set the maximum memory to be used by the jarsigner process

Parameters:
  `max` - a string indicating the maximum memory according to the JVM conventions (e.g. 128m is 128 Megabytes)

### setJar

public void setJar​(java.io.File jar)
the jar file to sign; required

Parameters:
  `jar` - the jar file to sign

### setAlias

public void setAlias​(java.lang.String alias)
the alias to sign under; required

Parameters:
  `alias` - the alias to sign under

### setKeystore

public void setKeystore​(java.lang.String keystore)
keystore location; required

Parameters:
  `keystore` - the keystore location

### setStorepass

public void setStorepass​(java.lang.String storepass)
password for keystore integrity; required

Parameters:
  `storepass` - the password for the keystore

### setStoretype

public void setStoretype​(java.lang.String storetype)
keystore type; optional

Parameters:
  `storetype` - the keystore type

### setKeypass

public void setKeypass​(java.lang.String keypass)
password for private key (if different); optional

Parameters:
  `keypass` - the password for the key (if different)

### setVerbose

public void setVerbose​(boolean verbose)
Enable verbose output when signing; optional: default false

Parameters:
  `verbose` - if true enable verbose output

### setStrict

public void setStrict​(boolean strict)
do strict checking

Parameters:
  `strict` - boolean
Since:
  Ant 1.9.1

### addFileset

public void addFileset​(FileSet set)
Adds a set of files to sign

Parameters:
  `set` - a set of files to sign
Since:
  Ant 1.4

### addSysproperty

public void addSysproperty​(Environment.Variable sysp)
Add a system property.

Parameters:
  `sysp` - system property.

### createPath

public Path createPath()
Adds a path of files to sign.

Returns:
  a path of files to sign.
Since:
  Ant 1.7

### setProviderName

public void setProviderName​(java.lang.String providerName)
Sets the value for the -providerName command line argument.

Parameters:
  `providerName` - the value for the -providerName command line argument
Since:
  Ant 1.10.6

### setProviderClass

public void setProviderClass​(java.lang.String providerClass)
Sets the value for the -providerClass command line argument.

Parameters:
  `providerClass` - the value for the -providerClass command line argument
Since:
  Ant 1.10.6

### setProviderArg

public void setProviderArg​(java.lang.String providerArg)
Sets the value for the -providerArg command line argument.

Parameters:
  `providerArg` - the value for the -providerArg command line argument
Since:
  Ant 1.10.6

### addArg

public void addArg​(Commandline.Argument arg)
Adds a nested <arg> element that can be used to specify command line arguments not supported via specific attributes.

Parameters:
  `arg` - the argument to add
Since:
  Ant 1.10.6

### beginExecution

protected void beginExecution()
init processing logic; this is retained through our execution(s)

### endExecution

protected void endExecution()
any cleanup logic

### getRedirector

public RedirectorElement getRedirector()
get the redirector. Non-null between invocations of `beginExecution()` and `endExecution()`

Returns:
  a redirector or null

### setExecutable

public void setExecutable​(java.lang.String executable)
Sets the actual executable command to invoke, instead of the binary `jarsigner` found in Ant's JDK.

Parameters:
  `executable` - the command to invoke.
Since:
  Ant 1.8.0

### setCommonOptions

protected void setCommonOptions​(ExecTask cmd)
these are options common to signing and verifying

Parameters:
  `cmd` - command to configure

### declareSysProperty

protected void declareSysProperty​(ExecTask cmd, Environment.Variable property) throws BuildException

Parameters:
  `cmd` - command to configure
  `property` - property to set
Throws:
  `BuildException` - if the property is not correctly defined.

### bindToKeystore

protected void bindToKeystore​(ExecTask cmd)
bind to a keystore if the attributes are there

Parameters:
  `cmd` - command to configure

### createJarSigner

protected ExecTask createJarSigner()
create the jarsigner executable task

Returns:
  a task set up with the executable of jarsigner, failonerror=true and bound to our redirector

### createUnifiedSources

protected java.util.Vector<FileSet> createUnifiedSources()
clone our filesets vector, and patch in the jar attribute as a new fileset, if is defined

Returns:
  a vector of FileSet instances

### createUnifiedSourcePath

protected Path createUnifiedSourcePath()
clone our path and add all explicitly specified FileSets as well, patch in the jar attribute as a new fileset if it is defined.

Returns:
  a path that contains all files to sign
Since:
  Ant 1.7

### hasResources

protected boolean hasResources()
Has either a path or a fileset been specified?

Returns:
  true if a path or fileset has been specified.
Since:
  Ant 1.7

### addValue

protected void addValue​(ExecTask cmd, java.lang.String value)
add a value argument to a command

Parameters:
  `cmd` - command to manipulate
  `value` - value to add

### addArgument

protected void addArgument​(ExecTask cmd, Commandline.Argument arg)
add an argument to a command

Parameters:
  `cmd` - command to manipulate
  `arg` - argument to add