release:perform

Full name:

org.apache.maven.plugins:maven-release-plugin:2.0:perform

Description:

Perform a release from SCM. For more info see this example.

Attributes:

  • Executes as an aggregator plugin.

Required Parameters

Name Type Since Description
workingDirectory File - The checkout directory.
Default value is: ${project.build.directory}/checkout.

Optional Parameters

Name Type Since Description
arguments String - Additional arguments to pass to the Maven executions, separated by spaces.
connectionUrl String - The SCM URL to checkout from. If omitted, the one from the release.properties file is used, followed by the URL from the current POM.
goals String - A space separated list of goals to execute on deployment. Default value is either deploy or deploy site-deploy, if the project has a <distributionManagement>/<site> element.
javaHome File 2.0-beta-8 The JAVA_HOME parameter to use for forked Maven invocations.
Default value is: ${java.home}.
localCheckout boolean 2.0 Use a local checkout instead of doing a checkout from the upstream repository. ATTENTION: This will only work with distributed SCMs which support the file:// protocol like e.g. git, jgit or hg! TODO: we should think about having the defaults for the various SCM providers provided via modello!
Default value is: false.
localRepoDirectory File 2.0-beta-8 The command-line local repository directory in use for this build (if specified).
Default value is: ${maven.repo.local}.
mavenExecutorId String 2.0-beta-8 Role hint of the MavenExecutor implementation to use.
Default value is: invoker.
mavenHome File 2.0-beta-8 The M2_HOME parameter to use for forked Maven invocations.
Default value is: ${maven.home}.
password String - The SCM password to use.
pomFileName String - The file name of the POM to execute any goals against.
providerImplementations Map 2.0-beta-6 List of provider implementations.
releaseProfiles String 2.0-beta-8 Comma separated profiles to enable on deployment, in addition to active profiles for project execution.
scmCommentPrefix String 2.0-beta-5 The message prefix to use for all SCM changes.
Default value is: [maven-release-plugin] .
tag String - The SCM tag to use.
tagBase String - The tag base directory in SVN, you must define it if you don't use the standard svn layout (trunk/tags/branches). For example, http://svn.apache.org/repos/asf/maven/plugins/tags. The URL is an SVN URL and does not include the SCM provider and protocol.
useReleaseProfile boolean - Whether to use the release profile that adds sources and javadocs to the released artifact, if appropriate.
Default value is: true.
username String - The SCM username to use.

Parameter Details

arguments:

Additional arguments to pass to the Maven executions, separated by spaces.
  • Type: java.lang.String
  • Required: No
  • Expression: ${arguments}

connectionUrl:

The SCM URL to checkout from. If omitted, the one from the release.properties file is used, followed by the URL from the current POM.
  • Type: java.lang.String
  • Required: No
  • Expression: ${connectionUrl}

goals:

A space separated list of goals to execute on deployment. Default value is either deploy or deploy site-deploy, if the project has a <distributionManagement>/<site> element.
  • Type: java.lang.String
  • Required: No
  • Expression: ${goals}

javaHome:

The JAVA_HOME parameter to use for forked Maven invocations.
  • Type: java.io.File
  • Since: 2.0-beta-8
  • Required: No
  • Default: ${java.home}

localCheckout:

Use a local checkout instead of doing a checkout from the upstream repository. ATTENTION: This will only work with distributed SCMs which support the file:// protocol like e.g. git, jgit or hg! TODO: we should think about having the defaults for the various SCM providers provided via modello!
  • Type: boolean
  • Since: 2.0
  • Required: No
  • Expression: ${localCheckout}
  • Default: false

localRepoDirectory:

The command-line local repository directory in use for this build (if specified).
  • Type: java.io.File
  • Since: 2.0-beta-8
  • Required: No
  • Default: ${maven.repo.local}

mavenExecutorId:

Role hint of the MavenExecutor implementation to use.
  • Type: java.lang.String
  • Since: 2.0-beta-8
  • Required: No
  • Expression: ${mavenExecutorId}
  • Default: invoker

mavenHome:

The M2_HOME parameter to use for forked Maven invocations.
  • Type: java.io.File
  • Since: 2.0-beta-8
  • Required: No
  • Default: ${maven.home}

password:

The SCM password to use.
  • Type: java.lang.String
  • Required: No
  • Expression: ${password}

pomFileName:

The file name of the POM to execute any goals against.
  • Type: java.lang.String
  • Required: No
  • Expression: ${pomFileName}

providerImplementations:

List of provider implementations.
  • Type: java.util.Map
  • Since: 2.0-beta-6
  • Required: No

releaseProfiles:

Comma separated profiles to enable on deployment, in addition to active profiles for project execution.
  • Type: java.lang.String
  • Since: 2.0-beta-8
  • Required: No
  • Expression: ${releaseProfiles}

scmCommentPrefix:

The message prefix to use for all SCM changes.
  • Type: java.lang.String
  • Since: 2.0-beta-5
  • Required: No
  • Expression: ${scmCommentPrefix}
  • Default: [maven-release-plugin]

tag:

The SCM tag to use.
  • Type: java.lang.String
  • Required: No
  • Expression: ${tag}

tagBase:

The tag base directory in SVN, you must define it if you don't use the standard svn layout (trunk/tags/branches). For example, http://svn.apache.org/repos/asf/maven/plugins/tags. The URL is an SVN URL and does not include the SCM provider and protocol.
  • Type: java.lang.String
  • Required: No
  • Expression: ${tagBase}

useReleaseProfile:

Whether to use the release profile that adds sources and javadocs to the released artifact, if appropriate.
  • Type: boolean
  • Required: No
  • Expression: ${useReleaseProfile}
  • Default: true

username:

The SCM username to use.
  • Type: java.lang.String
  • Required: No
  • Expression: ${username}

workingDirectory:

The checkout directory.
  • Type: java.io.File
  • Required: Yes
  • Expression: ${workingDirectory}
  • Default: ${project.build.directory}/checkout