Class AbstractJarsignerMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.jarsigner.AbstractJarsignerMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
JarsignerSignMojo,JarsignerVerifyMojo
public abstract class AbstractJarsignerMojo
extends org.apache.maven.plugin.AbstractMojo
Maven Jarsigner Plugin base class.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringSee options.private FileArchive to process.private FileThe base directory to scan for JAR files using Ant-like inclusion/exclusion patterns.private String[]List of additional arguments to append to the jarsigner command line.private String[]A set of artifact classifiers describing the project attachments that should not be processed.private String[]The Ant-like exclusion patterns used to exclude JAR files from processing.private String[]A set of artifact classifiers describing the project attachments that should be processed.private String[]The Ant-like inclusion patterns used to select JAR files to process.private org.apache.maven.shared.jarsigner.JarSignerprivate StringSee options.private StringThe maximum memory available to the JAR signer, e.g.private booleanControls processing of project attachments.private booleanControls processing of the main artifact produced by the project.private org.apache.maven.project.MavenProjectThe Maven project.private booleanMust be set to true if the password must be given via a protected authentication path such as a dedicated PIN reader.private StringSee options.private StringSee options.private StringSee options.private org.sonatype.plexus.components.sec.dispatcher.SecDispatcherprivate org.apache.maven.execution.MavenSessionThe current build session instance.private org.apache.maven.settings.SettingsThe Maven settings.private booleanSet totrueto disable the plugin.private StringSee options.private StringSee options.private org.apache.maven.toolchain.ToolchainManagerTo obtain a toolchain if possible.private booleanSee options.private FileLocation of the working directory.Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract org.apache.maven.shared.jarsigner.JarSignerRequestcreateRequest(File archive) Creates the jar signer request to be executed.protected Stringfinal voidexecute()protected abstract voidexecuteJarSigner(org.apache.maven.shared.jarsigner.JarSigner jarSigner, org.apache.maven.shared.jarsigner.JarSignerRequest request) Executes jarsigner (execute signing or verification for a jar file).Finds all jar files, by looking at the Maven project and user configuration.protected StringgetCommandlineInfo(org.apache.maven.shared.utils.cli.Commandline commandLine) Gets a string representation of aCommandline.getFileFromArtifact(org.apache.maven.artifact.Artifact artifact) Examines an Artifact and extract the File object pointing to the Artifact jar file.(package private) StringgetMessage(String key, Object... args) Gets a message for a given key from the resource bundle backing the implementation.private org.apache.maven.toolchain.Toolchainthe part with ToolchainManager lookup once we depend on 2.0.9 (have it as prerequisite).private static booleanisZipFile(org.apache.maven.artifact.Artifact artifact) Checks whether the specified artifact is a ZIP file.protected voidpreProcessArchive(File archive) Pre-processes a given archive.protected final voidprocessArchive(File archive) Processes a given archive.protected voidprocessArchives(List<File> archives) Process (sign/verify) a list of archives.protected voidValidate the user supplied configuration/parameters.Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
verbose
@Parameter(property="jarsigner.verbose", defaultValue="false") private boolean verboseSee options. -
keystore
See options. -
storetype
See options. -
storepass
See options. -
providerName
See options. -
providerClass
See options. -
providerArg
See options. -
alias
See options. -
maxMemory
The maximum memory available to the JAR signer, e.g.256M. See -Xmx for more details. -
archive
Archive to process. If set, neither the project artifact nor any attachments or archive sets are processed. -
archiveDirectory
The base directory to scan for JAR files using Ant-like inclusion/exclusion patterns.- Since:
- 1.1
-
includes
The Ant-like inclusion patterns used to select JAR files to process. The patterns must be relative to the directory given by the parameterarchiveDirectory. By default, the pattern**/*.?aris used.- Since:
- 1.1
-
excludes
The Ant-like exclusion patterns used to exclude JAR files from processing. The patterns must be relative to the directory given by the parameterarchiveDirectory.- Since:
- 1.1
-
arguments
List of additional arguments to append to the jarsigner command line. Each argument should be specified as a separate element. For example, to specify the name of the signed jar, two elements are needed:- Alternative using the command line:
-Djarsigner.arguments="-signedjar,my-project_signed.jar" - Alternative using the Maven POM configuration:
<configuration> <arguments> <argument>-signedjar</argument> <argument>my-project_signed.jar</argument> </arguments> </configuration> - Alternative using the command line:
-
skip
@Parameter(property="jarsigner.skip", defaultValue="false") private boolean skipSet totrueto disable the plugin. -
processMainArtifact
@Parameter(property="jarsigner.processMainArtifact", defaultValue="true") private boolean processMainArtifactControls processing of the main artifact produced by the project.- Since:
- 1.1
-
processAttachedArtifacts
@Parameter(property="jarsigner.processAttachedArtifacts", defaultValue="true") private boolean processAttachedArtifactsControls processing of project attachments. If enabled, attached artifacts that are no JAR/ZIP files will be automatically excluded from processing.- Since:
- 1.1
-
protectedAuthenticationPath
@Parameter(property="jarsigner.protectedAuthenticationPath", defaultValue="false") private boolean protectedAuthenticationPathMust be set to true if the password must be given via a protected authentication path such as a dedicated PIN reader.- Since:
- 1.3
-
includeClassifiers
A set of artifact classifiers describing the project attachments that should be processed. This parameter is only relevant ifprocessAttachedArtifactsistrue. If empty, all attachments are included.- Since:
- 1.2
-
excludeClassifiers
A set of artifact classifiers describing the project attachments that should not be processed. This parameter is only relevant ifprocessAttachedArtifactsistrue. If empty, no attachments are excluded.- Since:
- 1.2
-
project
@Parameter(defaultValue="${project}", readonly=true, required=true) private org.apache.maven.project.MavenProject projectThe Maven project. -
settings
@Parameter(defaultValue="${settings}", readonly=true, required=true) private org.apache.maven.settings.Settings settingsThe Maven settings.- Since:
- 1.5
-
workingDirectory
Location of the working directory.- Since:
- 1.3
-
jarSigner
@Component private org.apache.maven.shared.jarsigner.JarSigner jarSigner -
session
@Parameter(defaultValue="${session}", readonly=true, required=true) private org.apache.maven.execution.MavenSession sessionThe current build session instance. This is used for toolchain manager API calls.- Since:
- 1.3
-
toolchainManager
@Component private org.apache.maven.toolchain.ToolchainManager toolchainManagerTo obtain a toolchain if possible.- Since:
- 1.3
-
securityDispatcher
@Component(hint="mng-4384") private org.sonatype.plexus.components.sec.dispatcher.SecDispatcher securityDispatcher- Since:
- 1.3.2
-
-
Constructor Details
-
AbstractJarsignerMojo
public AbstractJarsignerMojo()
-
-
Method Details
-
execute
public final void execute() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
findJarfiles
Finds all jar files, by looking at the Maven project and user configuration.- Returns:
- a List of File objects
- Throws:
org.apache.maven.plugin.MojoExecutionException- if it was not possible to build a list of jar files
-
createRequest
protected abstract org.apache.maven.shared.jarsigner.JarSignerRequest createRequest(File archive) throws org.apache.maven.plugin.MojoExecutionException Creates the jar signer request to be executed.- Parameters:
archive- the archive file to treat by jarsigner- Returns:
- the request
- Throws:
org.apache.maven.plugin.MojoExecutionException- if an exception occurs- Since:
- 1.3
-
getStoretype
-
getStorepass
-
isZipFile
private static boolean isZipFile(org.apache.maven.artifact.Artifact artifact) Checks whether the specified artifact is a ZIP file.- Parameters:
artifact- The artifact to check, may benull.- Returns:
trueif the artifact looks like a ZIP file,falseotherwise.
-
getFileFromArtifact
Examines an Artifact and extract the File object pointing to the Artifact jar file.- Parameters:
artifact- the artifact to examine- Returns:
- An Optional containing the File, or Optional.empty() if the File is not a jar file.
- Throws:
NullPointerException- ifartifactisnull
-
preProcessArchive
protected void preProcessArchive(File archive) throws org.apache.maven.plugin.MojoExecutionException Pre-processes a given archive.- Parameters:
archive- The archive to process, must not benull.- Throws:
org.apache.maven.plugin.MojoExecutionException- if pre-processing failed
-
validateParameters
protected void validateParameters() throws org.apache.maven.plugin.MojoExecutionExceptionValidate the user supplied configuration/parameters.- Throws:
org.apache.maven.plugin.MojoExecutionException- if the user supplied configuration make further execution impossible
-
processArchives
protected void processArchives(List<File> archives) throws org.apache.maven.plugin.MojoExecutionException Process (sign/verify) a list of archives.- Parameters:
archives- list of jar files to process- Throws:
org.apache.maven.plugin.MojoExecutionException- if an error occurs during the processing of archives
-
processArchive
protected final void processArchive(File archive) throws org.apache.maven.plugin.MojoExecutionException Processes a given archive.- Parameters:
archive- The archive to process.- Throws:
NullPointerException- ifarchiveisnullorg.apache.maven.plugin.MojoExecutionException- if processingarchivefails
-
decrypt
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getMessage
Gets a message for a given key from the resource bundle backing the implementation.- Parameters:
key- the key of the message to returnargs- arguments to format the message with- Returns:
- the message with key
keyfrom the resource bundle backing the implementation - Throws:
NullPointerException- ifkeyisnullMissingResourceException- if there is no message available matchingkeyor accessing the resource bundle fails
-
getToolchain
private org.apache.maven.toolchain.Toolchain getToolchain()the part with ToolchainManager lookup once we depend on 2.0.9 (have it as prerequisite). Define as regular component field then. hint: check maven-compiler-plugin code- Returns:
- Toolchain instance
-