release:branch

Full name:

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

Description:

Branch a project in SCM. For more info see this example.

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Executes as an aggregator plugin.
  • Since version: 2.0-beta-6.

Required Parameters

Name Type Since Description
branchName String 2.0-beta-6 The branch name to use.

Optional Parameters

Name Type Since Description
addSchema boolean 2.0-beta-6 Whether to add a schema to the POM if it was previously missing on release.
Default value is: true.
arguments String 2.0-beta-6 Additional arguments to pass to the Maven executions, separated by spaces.
autoVersionSubmodules boolean 2.0-beta-6 Whether to automatically assign submodules the parent version. If set to false, the user will be prompted for the version of each submodules.
Default value is: false.
branchBase String 2.0 The branch 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/branches. The URL is an SVN URL and does not include the SCM provider and protocol.
developmentVersion String 2.0 Default version to use for new local working copy.
dryRun boolean 2.0-beta-6 Dry run: don't checkin or tag anything in the scm repository, or modify the checkout. Running mvn -DdryRun=true release:prepare is useful in order to check that modifications to poms and scm operations (only listed on the console) are working as expected. Modified POMs are written alongside the originals without modifying them.
Default value is: false.
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 2.0-beta-6 The SCM password to use.
pomFileName String 2.0-beta-6 The file name of the POM to execute any goals against.
providerImplementations Map 2.0-beta-6 List of provider implementations.
releaseVersion String 2.0 Default version to use when preparing a release or a branch.
remoteTagging boolean 2.0 currently only implemented with svn scm. Enable a workaround to prevent issue due to svn client > 1.5.0 (http://jira.codehaus.org/browse/SCM-406)
Default value is: true.
scmCommentPrefix String 2.0-beta-5 The message prefix to use for all SCM changes.
Default value is: [maven-release-plugin] .
tag String 2.0-beta-6 The SCM tag to use.
tagBase String 2.0-beta-6 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.
updateBranchVersions boolean 2.0-beta-6 Whether to update versions in the branch.
Default value is: false.
updateDependencies boolean 2.0-beta-6 Whether to update dependencies version to the next development version.
Default value is: true.
updateVersionsToSnapshot boolean 2.0-beta-6 Whether to update versions to SNAPSHOT in the branch.
Default value is: true.
updateWorkingCopyVersions boolean 2.0-beta-6 Whether to update versions in the working copy.
Default value is: true.
useEditMode boolean 2.0-beta-6 Whether to use "edit" mode on the SCM, to lock the file for editing during SCM operations.
Default value is: false.
username String 2.0-beta-6 The SCM username to use.

Parameter Details

addSchema:

Whether to add a schema to the POM if it was previously missing on release.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${addSchema}
  • Default: true

arguments:

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

autoVersionSubmodules:

Whether to automatically assign submodules the parent version. If set to false, the user will be prompted for the version of each submodules.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${autoVersionSubmodules}
  • Default: false

branchBase:

The branch 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/branches. The URL is an SVN URL and does not include the SCM provider and protocol.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • Expression: ${branchBase}

branchName:

The branch name to use.
  • Type: java.lang.String
  • Since: 2.0-beta-6
  • Required: Yes
  • Expression: ${branchName}

developmentVersion:

Default version to use for new local working copy.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • Expression: ${developmentVersion}

dryRun:

Dry run: don't checkin or tag anything in the scm repository, or modify the checkout. Running mvn -DdryRun=true release:prepare is useful in order to check that modifications to poms and scm operations (only listed on the console) are working as expected. Modified POMs are written alongside the originals without modifying them.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${dryRun}
  • Default: false

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
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${password}

pomFileName:

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

providerImplementations:

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

releaseVersion:

Default version to use when preparing a release or a branch.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • Expression: ${releaseVersion}

remoteTagging:

currently only implemented with svn scm. Enable a workaround to prevent issue due to svn client > 1.5.0 (http://jira.codehaus.org/browse/SCM-406)
  • Type: boolean
  • Since: 2.0
  • Required: No
  • Expression: ${remoteTagging}
  • Default: true

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
  • Since: 2.0-beta-6
  • 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
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${tagBase}

updateBranchVersions:

Whether to update versions in the branch.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${updateBranchVersions}
  • Default: false

updateDependencies:

Whether to update dependencies version to the next development version.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${updateDependencies}
  • Default: true

updateVersionsToSnapshot:

Whether to update versions to SNAPSHOT in the branch.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${updateVersionsToSnapshot}
  • Default: true

updateWorkingCopyVersions:

Whether to update versions in the working copy.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${updateWorkingCopyVersions}
  • Default: true

useEditMode:

Whether to use "edit" mode on the SCM, to lock the file for editing during SCM operations.
  • Type: boolean
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${useEditMode}
  • Default: false

username:

The SCM username to use.
  • Type: java.lang.String
  • Since: 2.0-beta-6
  • Required: No
  • Expression: ${username}