org.apache.tools.ant.taskdefs
Class AbstractJarSignerTask

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by 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
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 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 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
AbstractJarSignerTask()
           
 
Method Summary
 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 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 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 setStorepass(java.lang.String storepass)
          password for keystore integrity; required
 void setStoretype(java.lang.String storetype)
          keystore type; optional
 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 Detail

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


maxMemory

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


filesets

protected java.util.Vector filesets
the filesets of the jars to sign


JARSIGNER_COMMAND

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

See Also:
Constant Field Values

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
Constructor Detail

AbstractJarSignerTask

public AbstractJarSignerTask()
Method Detail

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

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

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

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 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