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
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 signprotected java.io.File
jar
The name of the jar file.protected static java.lang.String
JARSIGNER_COMMAND
name of JDK program we are looking forprotected java.lang.String
keypass
password for the key in the storeprotected 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 signerprotected java.lang.String
storepass
password for the storeprotected java.lang.String
storetype
type of store,-storetype paramprotected boolean
strict
strict checkingprotected boolean
verbose
verbose output -
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 commandvoid
addFileset(FileSet set)
Adds a set of files to signvoid
addSysproperty(Environment.Variable sysp)
Add a system property.protected void
addValue(ExecTask cmd, java.lang.String value)
add a value argument to a commandprotected 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 thereprotected ExecTask
createJarSigner()
create the jarsigner executable taskPath
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 definedprotected void
declareSysProperty(ExecTask cmd, Environment.Variable property)
protected void
endExecution()
any cleanup logicRedirectorElement
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; requiredprotected void
setCommonOptions(ExecTask cmd)
these are options common to signing and verifyingvoid
setExecutable(java.lang.String executable)
Sets the actual executable command to invoke, instead of the binaryjarsigner
found in Ant's JDK.void
setJar(java.io.File jar)
the jar file to sign; requiredvoid
setKeypass(java.lang.String keypass)
password for private key (if different); optionalvoid
setKeystore(java.lang.String keystore)
keystore location; requiredvoid
setMaxmemory(java.lang.String max)
Set the maximum memory to be used by the jarsigner processvoid
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; requiredvoid
setStoretype(java.lang.String storetype)
keystore type; optionalvoid
setStrict(boolean strict)
do strict checkingvoid
setVerbose(boolean verbose)
Enable verbose output when signing; optional: default falseMethods 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
-
Field Details
-
ERROR_NO_SOURCE
public static final java.lang.String ERROR_NO_SOURCEerror 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_COMMANDname of JDK program we are looking for- See Also:
- Constant Field Values
-
jar
protected java.io.File jarThe name of the jar file. -
alias
protected java.lang.String aliasThe alias of signer. -
keystore
protected java.lang.String keystoreThe url or path of keystore file. -
storepass
protected java.lang.String storepasspassword for the store -
storetype
protected java.lang.String storetypetype of store,-storetype param -
keypass
protected java.lang.String keypasspassword for the key in the store -
verbose
protected boolean verboseverbose output -
strict
protected boolean strictstrict checking- Since:
- Ant 1.9.1
-
maxMemory
protected java.lang.String maxMemoryThe maximum amount of memory to use for Jar signer -
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
Adds a set of files to sign- Parameters:
set
- a set of files to sign- Since:
- Ant 1.4
-
addSysproperty
Add a system property.- Parameters:
sysp
- system property.
-
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
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
get the redirector. Non-null between invocations ofbeginExecution()
andendExecution()
- Returns:
- a redirector or null
-
setExecutable
public void setExecutable(java.lang.String executable)Sets the actual executable command to invoke, instead of the binaryjarsigner
found in Ant's JDK.- Parameters:
executable
- the command to invoke.- Since:
- Ant 1.8.0
-
setCommonOptions
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 configureproperty
- property to set- Throws:
BuildException
- if the property is not correctly defined.
-
bindToKeystore
bind to a keystore if the attributes are there- Parameters:
cmd
- command to configure
-
createJarSigner
create the jarsigner executable task- Returns:
- a task set up with the executable of jarsigner, failonerror=true and bound to our redirector
-
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
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
add a value argument to a command- Parameters:
cmd
- command to manipulatevalue
- value to add
-
addArgument
add an argument to a command- Parameters:
cmd
- command to manipulatearg
- argument to add
-