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.
Version:
$Id$
  • Field Details

    • verbose

      @Parameter(property="jarsigner.verbose", defaultValue="false") private boolean verbose
      See options.
    • keystore

      @Parameter(property="jarsigner.keystore") private String keystore
      See options.
    • storetype

      @Parameter(property="jarsigner.storetype") private String storetype
      See options.
    • storepass

      @Parameter(property="jarsigner.storepass") private String storepass
      See options.
    • providerName

      @Parameter(property="jarsigner.providerName") private String providerName
      See options.
    • providerClass

      @Parameter(property="jarsigner.providerClass") private String providerClass
      See options.
    • providerArg

      @Parameter(property="jarsigner.providerArg") private String providerArg
      See options.
    • alias

      @Parameter(property="jarsigner.alias") private String alias
      See options.
    • maxMemory

      @Parameter(property="jarsigner.maxMemory") private String maxMemory
      The maximum memory available to the JAR signer, e.g. 256M. See -Xmx for more details.
    • archive

      @Parameter(property="jarsigner.archive") private File archive
      Archive to process. If set, neither the project artifact nor any attachments or archive sets are processed.
    • archiveDirectory

      @Parameter(property="jarsigner.archiveDirectory") private File archiveDirectory
      The base directory to scan for JAR files using Ant-like inclusion/exclusion patterns.
      Since:
      1.1
    • includes

      @Parameter private String[] includes
      The Ant-like inclusion patterns used to select JAR files to process. The patterns must be relative to the directory given by the parameter archiveDirectory. By default, the pattern **/*.?ar is used.
      Since:
      1.1
    • excludes

      @Parameter private String[] excludes
      The Ant-like exclusion patterns used to exclude JAR files from processing. The patterns must be relative to the directory given by the parameter archiveDirectory.
      Since:
      1.1
    • arguments

      @Parameter(property="jarsigner.arguments") private String[] arguments
      List of additional arguments to append to the jarsigner command line.
    • skip

      @Parameter(property="jarsigner.skip", defaultValue="false") private boolean skip
      Set to true to disable the plugin.
    • processMainArtifact

      @Parameter(property="jarsigner.processMainArtifact", defaultValue="true") private boolean processMainArtifact
      Controls processing of the main artifact produced by the project.
      Since:
      1.1
    • processAttachedArtifacts

      @Parameter(property="jarsigner.processAttachedArtifacts", defaultValue="true") private boolean processAttachedArtifacts
      Controls 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 protectedAuthenticationPath
      Must 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

      @Parameter private String[] includeClassifiers
      A set of artifact classifiers describing the project attachments that should be processed. This parameter is only relevant if processAttachedArtifacts is true. If empty, all attachments are included.
      Since:
      1.2
    • excludeClassifiers

      @Parameter private String[] excludeClassifiers
      A set of artifact classifiers describing the project attachments that should not be processed. This parameter is only relevant if processAttachedArtifacts is true. If empty, no attachments are excluded.
      Since:
      1.2
    • project

      @Parameter(defaultValue="${project}", readonly=true, required=true) private org.apache.maven.project.MavenProject project
      The Maven project.
    • settings

      @Parameter(defaultValue="${settings}", readonly=true, required=true) private org.apache.maven.settings.Settings settings
      The Maven settings.
      Since:
      1.5
    • workingDirectory

      @Parameter(defaultValue="${project.basedir}") private File 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 session
      The current build session instance. This is used for toolchain manager API calls.
      Since:
      1.3
    • toolchainManager

      @Component private org.apache.maven.toolchain.ToolchainManager toolchainManager
      To 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
    • 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
    • getCommandlineInfo

      protected String getCommandlineInfo(org.apache.maven.shared.utils.cli.Commandline commandLine)
      Gets a string representation of a Commandline.

      This method creates the string representation by calling commandLine.toString() by default.

      Parameters:
      commandLine - The Commandline to get a string representation of.
      Returns:
      The string representation of commandLine.
      Throws:
      NullPointerException - if commandLine is null.
    • getStoretype

      public String getStoretype()
    • getStorepass

      public String getStorepass()
    • isZipFile

      private boolean isZipFile(org.apache.maven.artifact.Artifact artifact)
      Checks whether the specified artifact is a ZIP file.
      Parameters:
      artifact - The artifact to check, may be null.
      Returns:
      true if the artifact looks like a ZIP file, false otherwise.
    • processArtifact

      private boolean processArtifact(org.apache.maven.artifact.Artifact artifact) throws org.apache.maven.plugin.MojoExecutionException
      Processes a given artifact.
      Parameters:
      artifact - The artifact to process.
      Returns:
      true if the artifact is a JAR and was processed, false otherwise.
      Throws:
      NullPointerException - if artifact is null.
      org.apache.maven.plugin.MojoExecutionException - if processing artifact fails.
    • 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 be null.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - If pre-processing failed.
    • processArchive

      private void processArchive(File archive) throws org.apache.maven.plugin.MojoExecutionException
      Processes a given archive.
      Parameters:
      archive - The archive to process.
      Throws:
      NullPointerException - if archive is null.
      org.apache.maven.plugin.MojoExecutionException - if processing archive fails.
    • decrypt

      protected String decrypt(String encoded) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • getMessage

      private String getMessage(String key, Object[] args)
      Gets a message for a given key from the resource bundle backing the implementation.
      Parameters:
      key - The key of the message to return.
      args - Arguments to format the message with or null.
      Returns:
      The message with key key from the resource bundle backing the implementation.
      Throws:
      NullPointerException - if key is null.
      MissingResourceException - if there is no message available matching key or accessing the resource bundle fails.
    • getMessage

      private String getMessage(String key)
    • getMessage

      String getMessage(String key, Object arg)
    • getMessage

      private String getMessage(String key, Object arg1, Object arg2)
    • getToolchain

      private org.apache.maven.toolchain.Toolchain getToolchain()
      FIXME tchemit-20123-11-13, need to find out how to do this... TODO remove the part with ToolchainManager lookup once we depend on 2.0.9 (have it as prerequisite). Define as regular component field then.
      Returns:
      Toolchain instance