gpg:sign-and-deploy-file

Full name:

org.apache.maven.plugins:maven-gpg-plugin:3.1.0:sign-and-deploy-file

Description:

Signs artifacts and installs the artifact in the remote repository.

Attributes:

  • The goal is thread-safe and supports parallel builds.
  • Since version: 1.0-beta-4.

Required Parameters

Name Type Since Description
<file> File - File to be deployed.
User property is: file.
<repositoryId> String - Server Id to map on the <id> under <server> section of settings.xml. In most cases, this parameter will be required for authentication.
Default value is: remote-repository.
User property is: repositoryId.
<url> String - URL where the artifact will be deployed.
ie ( file:///C:/m2-repo or scp://host.com/path/to/repo )
User property is: url.

Optional Parameters

Name Type Since Description
<artifactId> String - ArtifactId of the artifact to be deployed. Retrieved from POM file if specified.
User property is: artifactId.
<ascDirectory> File - The directory where to store signature files.
User property is: gpg.ascDirectory.
<classifier> String - Add classifier to the artifact
User property is: classifier.
<classifiers> String - A comma separated list of classifiers for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in files or types, then an error will be raised.
User property is: classifiers.
<defaultKeyring> boolean 1.2 Whether to add the default keyrings from gpg's home directory to the list of used keyrings.
Default value is: true.
User property is: gpg.defaultKeyring.
<description> String - Description passed to a generated POM file (in case of generatePom=true).
User property is: generatePom.description.
<executable> String 1.1 The path to the GnuPG executable to use for artifact signing. Defaults to either "gpg" or "gpg.exe" depending on the operating system.
User property is: gpg.executable.
<files> String - A comma separated list of files for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in types or classifiers, then an error will be raised.
User property is: files.
<generatePom> boolean - Upload a POM for this artifact. Will generate a default POM if none is supplied with the pomFile argument.
Default value is: true.
User property is: generatePom.
<gpgArguments> List<String> 1.5 Sets the arguments to be passed to gpg. Example:
<gpgArguments>
  <arg>--no-random-seed-file</arg>
  <arg>--no-permission-warning</arg>
</gpgArguments>

<groupId> String - GroupId of the artifact to be deployed. Retrieved from POM file if specified.
User property is: groupId.
<homedir> File 1.0 The directory from which gpg will load keyrings. If not specified, gpg will use the value configured for its installation, e.g. ~/.gnupg or %APPDATA%/gnupg.
User property is: gpg.homedir.
<javadoc> File 1.3 The bundled API docs for the artifact.
User property is: javadoc.
<keyname> String - The "name" of the key to sign with. Passed to gpg as --local-user.
User property is: gpg.keyname.
<lockMode> String 1.5 The lock mode to use when invoking gpg. By default no lock mode will be specified. Valid values are once, multiple and never. The lock mode gets translated into the corresponding --lock-___ command line argument. Improper usage of this option may lead to data and key corruption.
See also: the --lock-options
User property is: gpg.lockMode.
<packaging> String - Type of the artifact to be deployed. Retrieved from POM file if specified. Defaults to file extension if not specified via command line or POM.
User property is: packaging.
<passphrase> String - The passphrase to use when signing. If not given, look up the value under Maven settings using server id at 'passphraseServerKey' configuration.
User property is: gpg.passphrase.
<passphraseServerId> String 1.6 Server id to lookup the passphrase under Maven settings.
Default value is: gpg.passphrase.
User property is: gpg.passphraseServerId.
<pomFile> File - Location of an existing POM file to be deployed alongside the main artifact, given by the ${file} parameter.
User property is: pomFile.
<publicKeyring> String 1.2 The path to a public keyring to add to the list of keyrings. By default, only the pubring.gpg from gpg's home directory is considered. Use this option (and defaultKeyring if required) to use a different public key. Note: Relative paths are resolved against gpg's home directory, not the project base directory.
User property is: gpg.publicKeyring.
<repositoryLayout> String - The type of remote repository layout to deploy to. Try legacy for a Maven 1.x-style repository layout.
Default value is: default.
User property is: repositoryLayout.
<retryFailedDeploymentCount> int 1.3 Parameter used to control how many times a failed deployment will be retried before giving up and failing. If a value outside the range 1-10 is specified it will be pulled to the nearest value within the range 1-10.
Default value is: 1.
User property is: retryFailedDeploymentCount.
<secretKeyring> String 1.2

The path to a secret keyring to add to the list of keyrings. By default, only the secring.gpg from gpg's home directory is considered. Use this option (in combination with publicKeyring and defaultKeyring if required) to use a different secret key. Note: Relative paths are resolved against gpg's home directory, not the project base directory.

NOTE: As of gpg 2.1 this is an obsolete option and ignored. All secret keys are stored in the ‘private-keys-v1.d’ directory below the GnuPG home directory.
User property is: gpg.secretKeyring.
<sources> File 1.3 The bundled sources for the artifact.
User property is: sources.
<types> String - A comma separated list of types for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in files or classifiers, then an error will be raised.
User property is: types.
<updateReleaseInfo> boolean 1.3 Parameter used to update the metadata to make the artifact as release.
Default value is: false.
User property is: updateReleaseInfo.
<useAgent> boolean - Passes --use-agent or --no-use-agent to gpg. If using an agent, the passphrase is optional as the agent will provide it. For gpg2, specify true as --no-use-agent was removed in gpg2 and doesn't ask for a passphrase anymore.
Default value is: true.
User property is: gpg.useagent.
<version> String - Version of the artifact to be deployed. Retrieved from POM file if specified.
User property is: version.

Parameter Details

<artifactId>

ArtifactId of the artifact to be deployed. Retrieved from POM file if specified.
  • Type: java.lang.String
  • Required: No
  • User Property: artifactId

<ascDirectory>

The directory where to store signature files.
  • Type: java.io.File
  • Required: No
  • User Property: gpg.ascDirectory

<classifier>

Add classifier to the artifact
  • Type: java.lang.String
  • Required: No
  • User Property: classifier

<classifiers>

A comma separated list of classifiers for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in files or types, then an error will be raised.
  • Type: java.lang.String
  • Required: No
  • User Property: classifiers

<defaultKeyring>

Whether to add the default keyrings from gpg's home directory to the list of used keyrings.
  • Type: boolean
  • Since: 1.2
  • Required: No
  • User Property: gpg.defaultKeyring
  • Default: true

<description>

Description passed to a generated POM file (in case of generatePom=true).
  • Type: java.lang.String
  • Required: No
  • User Property: generatePom.description

<executable>

The path to the GnuPG executable to use for artifact signing. Defaults to either "gpg" or "gpg.exe" depending on the operating system.
  • Type: java.lang.String
  • Since: 1.1
  • Required: No
  • User Property: gpg.executable

<file>

File to be deployed.
  • Type: java.io.File
  • Required: Yes
  • User Property: file

<files>

A comma separated list of files for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in types or classifiers, then an error will be raised.
  • Type: java.lang.String
  • Required: No
  • User Property: files

<generatePom>

Upload a POM for this artifact. Will generate a default POM if none is supplied with the pomFile argument.
  • Type: boolean
  • Required: No
  • User Property: generatePom
  • Default: true

<gpgArguments>

Sets the arguments to be passed to gpg. Example:
<gpgArguments>
  <arg>--no-random-seed-file</arg>
  <arg>--no-permission-warning</arg>
</gpgArguments>
  • Type: java.util.List<java.lang.String>
  • Since: 1.5
  • Required: No

<groupId>

GroupId of the artifact to be deployed. Retrieved from POM file if specified.
  • Type: java.lang.String
  • Required: No
  • User Property: groupId

<homedir>

The directory from which gpg will load keyrings. If not specified, gpg will use the value configured for its installation, e.g. ~/.gnupg or %APPDATA%/gnupg.
  • Type: java.io.File
  • Since: 1.0
  • Required: No
  • User Property: gpg.homedir

<javadoc>

The bundled API docs for the artifact.
  • Type: java.io.File
  • Since: 1.3
  • Required: No
  • User Property: javadoc

<keyname>

The "name" of the key to sign with. Passed to gpg as --local-user.
  • Type: java.lang.String
  • Required: No
  • User Property: gpg.keyname

<lockMode>

The lock mode to use when invoking gpg. By default no lock mode will be specified. Valid values are once, multiple and never. The lock mode gets translated into the corresponding --lock-___ command line argument. Improper usage of this option may lead to data and key corruption.
See also: the --lock-options
  • Type: java.lang.String
  • Since: 1.5
  • Required: No
  • User Property: gpg.lockMode

<packaging>

Type of the artifact to be deployed. Retrieved from POM file if specified. Defaults to file extension if not specified via command line or POM.
  • Type: java.lang.String
  • Required: No
  • User Property: packaging

<passphrase>

The passphrase to use when signing. If not given, look up the value under Maven settings using server id at 'passphraseServerKey' configuration.
  • Type: java.lang.String
  • Required: No
  • User Property: gpg.passphrase

<passphraseServerId>

Server id to lookup the passphrase under Maven settings.
  • Type: java.lang.String
  • Since: 1.6
  • Required: No
  • User Property: gpg.passphraseServerId
  • Default: gpg.passphrase

<pomFile>

Location of an existing POM file to be deployed alongside the main artifact, given by the ${file} parameter.
  • Type: java.io.File
  • Required: No
  • User Property: pomFile

<publicKeyring>

The path to a public keyring to add to the list of keyrings. By default, only the pubring.gpg from gpg's home directory is considered. Use this option (and defaultKeyring if required) to use a different public key. Note: Relative paths are resolved against gpg's home directory, not the project base directory.
  • Type: java.lang.String
  • Since: 1.2
  • Required: No
  • User Property: gpg.publicKeyring

<repositoryId>

Server Id to map on the <id> under <server> section of settings.xml. In most cases, this parameter will be required for authentication.
  • Type: java.lang.String
  • Required: Yes
  • User Property: repositoryId
  • Default: remote-repository

<repositoryLayout>

The type of remote repository layout to deploy to. Try legacy for a Maven 1.x-style repository layout.
  • Type: java.lang.String
  • Required: No
  • User Property: repositoryLayout
  • Default: default

<retryFailedDeploymentCount>

Parameter used to control how many times a failed deployment will be retried before giving up and failing. If a value outside the range 1-10 is specified it will be pulled to the nearest value within the range 1-10.
  • Type: int
  • Since: 1.3
  • Required: No
  • User Property: retryFailedDeploymentCount
  • Default: 1

<secretKeyring>

The path to a secret keyring to add to the list of keyrings. By default, only the secring.gpg from gpg's home directory is considered. Use this option (in combination with publicKeyring and defaultKeyring if required) to use a different secret key. Note: Relative paths are resolved against gpg's home directory, not the project base directory.

NOTE: As of gpg 2.1 this is an obsolete option and ignored. All secret keys are stored in the ‘private-keys-v1.d’ directory below the GnuPG home directory.
  • Type: java.lang.String
  • Since: 1.2
  • Required: No
  • User Property: gpg.secretKeyring

<sources>

The bundled sources for the artifact.
  • Type: java.io.File
  • Since: 1.3
  • Required: No
  • User Property: sources

<types>

A comma separated list of types for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in files or classifiers, then an error will be raised.
  • Type: java.lang.String
  • Required: No
  • User Property: types

<updateReleaseInfo>

Parameter used to update the metadata to make the artifact as release.
  • Type: boolean
  • Since: 1.3
  • Required: No
  • User Property: updateReleaseInfo
  • Default: false

<url>

URL where the artifact will be deployed.
ie ( file:///C:/m2-repo or scp://host.com/path/to/repo )
  • Type: java.lang.String
  • Required: Yes
  • User Property: url

<useAgent>

Passes --use-agent or --no-use-agent to gpg. If using an agent, the passphrase is optional as the agent will provide it. For gpg2, specify true as --no-use-agent was removed in gpg2 and doesn't ask for a passphrase anymore.
  • Type: boolean
  • Required: No
  • User Property: gpg.useagent
  • Default: true

<version>

Version of the artifact to be deployed. Retrieved from POM file if specified.
  • Type: java.lang.String
  • Required: No
  • User Property: version