Class SignMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eclipse.cbi.maven.plugins.jarsigner.mojo.SignMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="sign", defaultPhase=PACKAGE) public class SignMojo extends org.apache.maven.plugin.AbstractMojo
Signs project main and attached artifacts using the Eclipse jarsigner webservice. Only artifacts with.jar
extension are signed, other artifacts are not signed but a warning message is logged.
-
-
Field Summary
Fields Modifier and Type Field Description private int
connectTimeoutMillis
Deprecated.Use timeoutMillis instead.private boolean
continueOnFail
Whether the build should be stopped if the signing process fails.private static int
DEFAULT_RETRY_LIMIT
private static java.lang.String
DEFAULT_RETRY_LIMIT_STRING
private static int
DEFAULT_RETRY_TIMER
private static java.lang.String
DEFAULT_RETRY_TIMER_STRING
The default number of seconds the process will wait ifprivate boolean
deprecatedContinueOnFail
Deprecated.The user propertycontinueOnFail
is deprecated.private int
deprecatedRetryLimit
Deprecated.The user propertyretryLimit
is deprecated.private int
deprecatedRetryTimer
Deprecated.The user propertyretryTimer
is deprecated.private MessageDigestAlgorithm
digestAlgorithm
The digest algorithm to use for signing the jar file.private boolean
excludeInnerJars
Whether to excludes signing inner jars (not recursive, only apply to first level Jars inside the build Jar file; deeper jars are ignored in all cases).private org.apache.maven.project.MavenProject
project
The Maven project.private JarResigner.Strategy
resigningStrategy
The strategy to be used if the artifacts of the current project are already signed (e.g., when replaced with a baseline version).private int
retryLimit
Number of times to retry signing if the server fails to sign.private int
retryTimer
Number of seconds to wait before retrying to sign.private java.lang.String
sigFile
private SignatureAlgorithm
signatureAlgorithm
The signature algorithm to use for signing the jar file.private java.lang.String
signerUrl
The signing service URL for signing Jar files.private boolean
skip
Whether the execution of this plugin should be skipped.private java.util.List<java.lang.String>
supportedProjectTypes
Deprecated.Not used anymore.private int
timeoutMillis
Defines the wall timeout in milliseconds for performing the remote request.
-
Constructor Summary
Constructors Constructor Description SignMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
continueOnFail()
private JarSigner
createJarSigner()
Creates and returns theJarSigner
according to the injected Mojo parameter.void
execute()
private int
retryLimit()
private int
retryTimer()
private void
signArtifact(JarSigner jarSigner, org.apache.maven.artifact.Artifact artifact)
-
-
-
Field Detail
-
DEFAULT_RETRY_TIMER_STRING
private static final java.lang.String DEFAULT_RETRY_TIMER_STRING
The default number of seconds the process will wait if- See Also:
- Constant Field Values
-
DEFAULT_RETRY_TIMER
private static final int DEFAULT_RETRY_TIMER
-
DEFAULT_RETRY_LIMIT_STRING
private static final java.lang.String DEFAULT_RETRY_LIMIT_STRING
- See Also:
- Constant Field Values
-
DEFAULT_RETRY_LIMIT
private static final int DEFAULT_RETRY_LIMIT
-
project
@Parameter(defaultValue="${project}", readonly=true) private org.apache.maven.project.MavenProject project
The Maven project.
-
signerUrl
@Parameter(required=true, property="cbi.jarsigner.signerUrl", defaultValue="http://build.eclipse.org:31338/sign") private java.lang.String signerUrl
The signing service URL for signing Jar files. This service should return a signed jar file.- Since:
- 1.0.4
-
skip
@Parameter(property="cbi.jarsigner.skip", defaultValue="false") private boolean skip
Whether the execution of this plugin should be skipped.- Since:
- 1.0.4
-
deprecatedContinueOnFail
@Deprecated @Parameter(property="continueOnFail", defaultValue="false") private boolean deprecatedContinueOnFail
Deprecated.The user propertycontinueOnFail
is deprecated. You should use the qualified propertycbi.jarsigner.continueOnFail
instead. ThedeprecatedContinueOnFail
parameter has been introduced to support this deprecated user property for backward compatibility only.Whether the build should be stopped if the signing process fails.- Since:
- 1.0.5 (for the user property, since 1.1.3 for the parameter).
-
continueOnFail
@Parameter(property="cbi.jarsigner.continueOnFail", defaultValue="false") private boolean continueOnFail
Whether the build should be stopped if the signing process fails.- Since:
- 1.0.5 (for the parameter, since 1.1.3 for the qualified user property).
-
deprecatedRetryLimit
@Deprecated @Parameter(property="retryLimit", defaultValue="3") private int deprecatedRetryLimit
Deprecated.The user propertyretryLimit
is deprecated. You should use the qualified propertycbi.jarsigner.retryLimit
instead. ThedeprecatedRetryLimit
parameter has been introduced to support this deprecated user property for backward compatibility only.Number of times to retry signing if the server fails to sign.- Since:
- 1.1.0 (for the property, since 1.1.3 for the parameter)
-
retryLimit
@Parameter(property="cbi.jarsigner.retryLimit", defaultValue="3") private int retryLimit
Number of times to retry signing if the server fails to sign.- Since:
- 1.1.0 (for the parameter, since 1.1.3 for the qualified user user property)
-
deprecatedRetryTimer
@Deprecated @Parameter(property="retryTimer", defaultValue="10") private int deprecatedRetryTimer
Deprecated.The user propertyretryTimer
is deprecated. You should use the qualified propertycbi.jarsigner.retryTimer
instead. ThedeprecatedRetryTimer
parameter has been introduced to support this deprecated user property for backward compatibility only.Number of seconds to wait before retrying to sign.- Since:
- 1.1.0 (for the user property, since 1.1.3 for the parameter).
-
retryTimer
@Parameter(property="cbi.jarsigner.retryTimer", defaultValue="10") private int retryTimer
Number of seconds to wait before retrying to sign.- Since:
- 1.1.0 (for the parameter, since 1.1.3 for the qualified user user property)
-
excludeInnerJars
@Parameter(defaultValue="false") private boolean excludeInnerJars
Whether to excludes signing inner jars (not recursive, only apply to first level Jars inside the build Jar file; deeper jars are ignored in all cases).- Since:
- 1.0.5
-
supportedProjectTypes
@Deprecated @Parameter private java.util.List<java.lang.String> supportedProjectTypes
Deprecated.Not used anymore.Project types which this plugin supports.
-
resigningStrategy
@Parameter(property="cbi.jarsigner.resigningStrategy", defaultValue="RESIGN") private JarResigner.Strategy resigningStrategy
The strategy to be used if the artifacts of the current project are already signed (e.g., when replaced with a baseline version). Valid values are:- DO_NOT_RESIGN, do nothing with the jar file
- THROW_EXCEPTION, throws an exception and stop the
build if
continueOnFail
property is not set - RESIGN, resigns the jar with the same parameter as
if it was not already signed (in particular the configured
digestAlgorithm
) - RESIGN_WITH_SAME_DIGEST_ALGORITHM, resigns the jar
with the same digest algorithm as the one used when it has been
previously signed. Thus, the
digestAlgorithm
is ignored for the already signed jars. - OVERWRITE, removes every signatures from the jar and
resigned it with the same parameter as if it was not already signed (in
particular the configured
digestAlgorithm
) - OVERWRITE_WITH_SAME_DIGEST_ALGORITHM, removes every
signatures from the jar and resign it with the same digest algorithm as
the one used when it has been previously signed. Thus, the
digestAlgorithm
is ignored for the already signed jars.
- Since:
- 1.1.3
-
digestAlgorithm
@Parameter(property="cbi.jarsigner.digestAlgorithm", defaultValue="DEFAULT") private MessageDigestAlgorithm digestAlgorithm
The digest algorithm to use for signing the jar file. Supported values depends on the remote signing web services. Values recognized by this plugin are:- DEFAULT, tells to the remote signing webservice to use its default digest algorithm to sign the jar
- MD2
- MD5
- SHA_1
- SHA1 Use this value if you need to be compatible with some old frameworks (e.g., Eclipse Equinox 3.7 / Indigo). Use SHA_1 otherwise.
- SHA_224
- SHA_256
- SHA_384
- SHA_512
- Since:
- 1.1.3
-
signatureAlgorithm
@Parameter(property="cbi.jarsigner.signatureAlgorithm", defaultValue="DEFAULT") private SignatureAlgorithm signatureAlgorithm
The signature algorithm to use for signing the jar file. Supported values depends on the remote signing web services. Values recognized by this plugin are:- DEFAULT, tells to the remote signing webservice to use its default digest algorithm to sign the jar
- NONEwithRSA
- MD2withRSA
- MD5withRSA
- SHA1withRSA
- SHA224withRSA
- SHA256withRSA
- SHA384withRSA
- SHA512withRSA
- SHA1withDSA
- SHA224withDSA
- SHA256withDSA
- NONEwithECDSA
- SHA1withECDSA
- SHA224withECDSA
- SHA256withECDSA
- SHA384withECDSA
- SHA512withECDSA
- Since:
- 1.1.3
-
connectTimeoutMillis
@Deprecated @Parameter(property="cbi.jarsigner.connectTimeoutMillis", defaultValue="5000") private int connectTimeoutMillis
Deprecated.Use timeoutMillis instead. This one is for establishing the TCP connection only, you may be looking for a wall timeout instead.Defines the timeout in milliseconds for establishing a TCP connection with the signing server. A timeout value of zero is interpreted as an infinite timeout.- Since:
- 1.1.4
-
timeoutMillis
@Parameter(property="cbi.jarsigner.timeoutMillis", defaultValue="0") private int timeoutMillis
Defines the wall timeout in milliseconds for performing the remote request. A timeout value of zero is interpreted as an infinite timeout.- Since:
- 1.1.5
-
sigFile
@Parameter(property="cbi.jarsigner.sigFile", defaultValue="") private java.lang.String sigFile
- Since:
- 1.1.5
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
signArtifact
private void signArtifact(JarSigner jarSigner, org.apache.maven.artifact.Artifact artifact) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
continueOnFail
private boolean continueOnFail()
-
retryLimit
private int retryLimit()
-
retryTimer
private int retryTimer()
-
-