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