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:
  `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 String`
`alias`
The alias of signer.
`static final String`
`ERROR_NO_SOURCE`
error string for unit test verification: "jar must be set through jar attribute or nested filesets"
`protected Vector<FileSet>`
`filesets`
the filesets of the jars to sign
`protected File`
`jar`
The name of the jar file.
`protected static final String`
`JARSIGNER_COMMAND`
name of JDK program we are looking for
`protected String`
`keypass`
password for the key in the store
`protected String`
`keystore`
The url or path of keystore file.
`protected String`
`maxMemory`
The maximum amount of memory to use for Jar signer
`protected String`
`storepass`
password for the store
`protected 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, 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 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(String alias)`
the alias to sign under; required
`protected void`
`setCommonOptions(ExecTask cmd)`
these are options common to signing and verifying
`void`
`setExecutable(String executable)`
Sets the actual executable command to invoke, instead of the binary `jarsigner` found in Ant's JDK.
`void`
`setJar(File jar)`
the jar file to sign; required
`void`
`setKeypass(String keypass)`
password for private key (if different); optional
`void`
`setKeystore(String keystore)`
keystore location; required
`void`
`setMaxmemory(String max)`
Set the maximum memory to be used by the jarsigner process
`void`
`setProviderArg(String providerArg)`
Sets the value for the -providerArg command line argument.
`void`
`setProviderClass(String providerClass)`
Sets the value for the -providerClass command line argument.
`void`
`setProviderName(String providerName)`
Sets the value for the -providerName command line argument.
`void`
`setStorepass(String storepass)`
password for keystore integrity; required
`void`
`setStoretype(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 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 String JARSIGNER_COMMAND
name of JDK program we are looking for

See Also:
  - Constant Field Values

### jar

protected File jar
The name of the jar file.

### alias

protected String alias
The alias of signer.

### keystore

protected String keystore
The url or path of keystore file.

### storepass

protected String storepass
password for the store

### storetype

protected String storetype
type of store,-storetype param

### keypass

protected 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 String maxMemory
The maximum amount of memory to use for Jar signer

### filesets

protected Vector<FileSet> filesets
the filesets of the jars to sign

## Constructor Details

### AbstractJarSignerTask

public AbstractJarSignerTask()

## Method Details

### setMaxmemory

public void setMaxmemory(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(File jar)
the jar file to sign; required

Parameters:
  `jar` - the jar file to sign

### setAlias

public void setAlias(String alias)
the alias to sign under; required

Parameters:
  `alias` - the alias to sign under

### setKeystore

public void setKeystore(String keystore)
keystore location; required

Parameters:
  `keystore` - the keystore location

### setStorepass

public void setStorepass(String storepass)
password for keystore integrity; required

Parameters:
  `storepass` - the password for the keystore

### setStoretype

public void setStoretype(String storetype)
keystore type; optional

Parameters:
  `storetype` - the keystore type

### setKeypass

public void setKeypass(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(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(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(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(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 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, 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