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.StringaliasThe alias of signer.static java.lang.StringERROR_NO_SOURCEerror string for unit test verification: "jar must be set through jar attribute or nested filesets"protected java.util.Vector<FileSet>filesetsthe filesets of the jars to signprotected java.io.FilejarThe name of the jar file.protected static java.lang.StringJARSIGNER_COMMANDname of JDK program we are looking forprotected java.lang.Stringkeypasspassword for the key in the storeprotected java.lang.StringkeystoreThe url or path of keystore file.protected java.lang.StringmaxMemoryThe maximum amount of memory to use for Jar signerprotected java.lang.Stringstorepasspassword for the storeprotected java.lang.Stringstoretypetype of store,-storetype paramprotected booleanstrictstrict checkingprotected booleanverboseverbose output -
Constructor Summary
Constructors Constructor Description AbstractJarSignerTask() -
Method Summary
Modifier and Type Method Description voidaddArg(Commandline.Argument arg)Adds a nested <arg> element that can be used to specify command line arguments not supported via specific attributes.protected voidaddArgument(ExecTask cmd, Commandline.Argument arg)add an argument to a commandvoidaddFileset(FileSet set)Adds a set of files to signvoidaddSysproperty(Environment.Variable sysp)Add a system property.protected voidaddValue(ExecTask cmd, java.lang.String value)add a value argument to a commandprotected voidbeginExecution()init processing logic; this is retained through our execution(s)protected voidbindToKeystore(ExecTask cmd)bind to a keystore if the attributes are thereprotected ExecTaskcreateJarSigner()create the jarsigner executable taskPathcreatePath()Adds a path of files to sign.protected PathcreateUnifiedSourcePath()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 voiddeclareSysProperty(ExecTask cmd, Environment.Variable property)protected voidendExecution()any cleanup logicRedirectorElementgetRedirector()get the redirector.protected booleanhasResources()Has either a path or a fileset been specified?voidsetAlias(java.lang.String alias)the alias to sign under; requiredprotected voidsetCommonOptions(ExecTask cmd)these are options common to signing and verifyingvoidsetExecutable(java.lang.String executable)Sets the actual executable command to invoke, instead of the binaryjarsignerfound in Ant's JDK.voidsetJar(java.io.File jar)the jar file to sign; requiredvoidsetKeypass(java.lang.String keypass)password for private key (if different); optionalvoidsetKeystore(java.lang.String keystore)keystore location; requiredvoidsetMaxmemory(java.lang.String max)Set the maximum memory to be used by the jarsigner processvoidsetProviderArg(java.lang.String providerArg)Sets the value for the -providerArg command line argument.voidsetProviderClass(java.lang.String providerClass)Sets the value for the -providerClass command line argument.voidsetProviderName(java.lang.String providerName)Sets the value for the -providerName command line argument.voidsetStorepass(java.lang.String storepass)password for keystore integrity; requiredvoidsetStoretype(java.lang.String storetype)keystore type; optionalvoidsetStrict(boolean strict)do strict checkingvoidsetVerbose(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, setTaskTypeMethods 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 binaryjarsignerfound 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
-