release:prepare
Full name:
org.apache.maven.plugins:maven-release-plugin:3.0.0-M7:prepare
Description:
release:perform
. For more info see https://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html.Attributes:
- Requires a Maven project to be executed.
- Executes as an aggregator plugin.
- The goal is not marked as thread-safe and thus does not support parallel builds.
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<addSchema> |
boolean |
- |
Whether to add a schema to the POM if it was previously missing on
release. Default value is: true .User property is: addSchema . |
<allowTimestampedSnapshots> |
boolean |
2.0-beta-7 |
Whether to allow timestamped SNAPSHOT dependencies. Default is to
fail when finding any SNAPSHOT. Default value is: false .User property is: ignoreSnapshots . |
<arguments> |
String |
- |
Additional arguments to pass to the Maven executions, separated by
spaces. User property is: arguments .Alias is: prepareVerifyArgs . |
<autoResolveSnapshots> |
String |
3.0.0-M4 |
Specifies whether unresolved SNAPSHOT dependencies should
automatically be resolved. If this is set, then this specifies the
default answer to be used when unresolved SNAPSHOT dependencies
should automatically be resolved ( 0:All 1:Project Dependencies
2:Plugins 3:Reports 4:Extensions ). Possible values are:
User property is: autoResolveSnapshots . |
<autoVersionSubmodules> |
boolean |
2.0-beta-5 |
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 .User property is: autoVersionSubmodules . |
<checkModificationExcludeList> |
String |
2.1 |
Command-line version of checkModificationExcludes. User property is: checkModificationExcludeList . |
<checkModificationExcludes> |
String[] |
2.1 |
A list of additional exclude filters that will be skipped when
checking for modifications on the working copy. Is ignored, when
checkModificationExcludes is set. |
<commitByProject> |
boolean |
2.0-beta-5 |
Commits to do are atomic or by project. Default value is: false .User property is: commitByProject . |
<completionGoals> |
String |
2.2 |
Goals to run on completion of the preparation step, after
transformation back to the next development version but before
committing. Space delimited. User property is: completionGoals . |
<developmentVersion> |
String |
2.0-beta-8 |
Default version to use for new local working copy. User property is: developmentVersion . |
<dryRun> |
boolean |
- |
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 .User property is: dryRun . |
<generateReleasePoms> |
boolean |
- |
Deprecated. Please use release:prepare-with-pom instead. Default value is: false .User property is: generateReleasePoms . |
<javaHome> |
File |
2.0-beta-8 |
The JAVA_HOME parameter to use for forked Maven
invocations.Default value is: ${java.home} . |
<lineSeparator> |
String |
3.0.0-M6 |
Specifies the line separator to format pom.xml. The following
properties are available:
Default value is: source .User property is: lineSeparator . |
<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 .User property is: mavenExecutorId . |
<mavenHome> |
File |
2.0-beta-8 |
The Maven home parameter to use for forked Maven invocations. Default value is: ${maven.home} . |
<password> |
String |
- |
The SCM password to use. User property is: password . |
<pinExternals> |
boolean |
3.0.0-M4 |
Currently only implemented with svn scm. Enable the
--pin-externals option in svn copy
command which is new in Subversion 1.9.Default value is: false .User property is: pinExternals . |
<pomFileName> |
String |
- |
The file name of the POM to execute any goals against. As of
version 3.0.0, this defaults to the name of POM file of the project
being built. Default value is: ${project.file.name} .User property is: pomFileName . |
<preparationGoals> |
String |
- |
Goals to run as part of the preparation step, after transformation
but before committing. Space delimited. Default value is: clean verify .User property is: preparationGoals . |
<projectTagNamingPolicyId> |
String |
3.0.0-M1 |
The role-hint for the NamingPolicy implementation used
to calculate the project branch and tag names.User property is: projectNamingPolicyId . |
<projectVersionPolicyId> |
String |
2.5.1 |
The role-hint for the VersionPolicy implementation
used to calculate the project versions.Default value is: default .User property is: projectVersionPolicyId . |
<providerImplementations> |
Map |
2.0-beta-6 |
Add a new or overwrite the default implementation per provider. The
key is the scm prefix and the value is the role hint of the
ScmProvider . |
<pushChanges> |
boolean |
2.1 |
Implemented with git will or not push changes to the upstream
repository. true by default to preserve backward
compatibility.Default value is: true .User property is: pushChanges . |
<releaseStrategyId> |
String |
3.0.0-M5 |
The role-hint for the Strategy implementation used to
specify the phases per goal.Default value is: default .User property is: releaseStrategyId . |
<releaseVersion> |
String |
2.0-beta-8 |
Default version to use when preparing a release or a branch. User property is: releaseVersion . |
<remoteTagging> |
boolean |
2.0-beta-9 |
Currently only implemented with svn scm.
Default value is: true .User property is: remoteTagging . |
<resume> |
boolean |
- |
Resume a previous release attempt from the point where it was
stopped. Default value is: true .User property is: resume . |
<scmCommentPrefix> |
String |
2.0-beta-5 |
The message prefix to use for all SCM changes. Default value is: [maven-release-plugin] .User property is: scmCommentPrefix . |
<scmDevelopmentCommitComment> |
String |
3.0.0-M1 |
The SCM commit comment when setting pom.xml back to development.
Defaults to "@{prefix} prepare for next development iteration".
Property interpolation is performed on the value, but in order
to ensure that the interpolation occurs during release, you must
use
Default value is: @{prefix} prepare for next development iteration .User property is: scmDevelopmentCommitComment . |
<scmReleaseCommitComment> |
String |
3.0.0-M1 |
The SCM commit comment when setting pom.xml to release. Defaults to
"@{prefix} prepare release @{releaseLabel}".
Property interpolation is performed on the value, but in order
to ensure that the interpolation occurs during release, you must
use
Default value is: @{prefix} prepare release @{releaseLabel} .User property is: scmReleaseCommitComment . |
<scmShallowClone> |
boolean |
- |
When cloning a repository if it should be a shallow clone or a full
clone. Default value is: true .User property is: scmShallowClone . |
<signTag> |
boolean |
3.0.0-M4 |
Signs SCM tag when possible, for example when using the git-exe the
'--sign' argument is used. User property is: signTag . |
<suppressCommitBeforeTag> |
boolean |
2.1 |
Whether to suppress a commit of changes to the working copy before
the tag is created. This requires remoteTagging to be set to false. suppressCommitBeforeTag is useful when you want to
avoid poms with released versions in all revisions of your trunk or
development branch.Default value is: false .User property is: suppressCommitBeforeTag . |
<tag> |
String |
- |
The SCM tag to use. User property is: tag .Alias is: releaseLabel . |
<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.User property is: tagBase . |
<tagNameFormat> |
String |
2.2.0 |
Format to use when generating the tag name if none is specified.
Property interpolation is performed on the tag, but in order to
ensure that the interpolation occurs during release, you must use
@{...} to reference the properties rather than
${...} . The following properties are available:
Default value is: @{project.artifactId}-@{project.version} .User property is: tagNameFormat . |
<updateDependencies> |
boolean |
2.0-beta-5 |
Whether to update dependencies version to the next development
version. Default value is: true .User property is: updateDependencies . |
<updateWorkingCopyVersions> |
boolean |
2.1 |
Whether to bump the working copy versions to
developmentVersion .Default value is: true .User property is: updateWorkingCopyVersions . |
<useEditMode> |
boolean |
- |
Whether to use "edit" mode on the SCM, to lock the file for editing
during SCM operations. Default value is: false .User property is: useEditMode . |
<username> |
String |
- |
The SCM username to use. User property is: username . |
<waitBeforeTagging> |
int |
2.2 |
Wait the specified number of seconds before creating the tag.
waitBeforeTagging is useful when your source
repository is synced between several instances and access to it is
determined by geographical location, like the SVN repository at the
Apache Software Foundation.Default value is: 0 .User property is: waitBeforeTagging . |
<workItem> |
String |
3.0.0-M5 |
A workItem for SCMs like RTC, TFS etc, that may require additional
information to perform a pushChange operation. User property is: workItem . |
Parameter Details
<addSchema>
- Type:
boolean
- Required:
No
- User Property:
addSchema
- Default:
true
<allowTimestampedSnapshots>
- Type:
boolean
- Since:
2.0-beta-7
- Required:
No
- User Property:
ignoreSnapshots
- Default:
false
<arguments>
- Type:
java.lang.String
- Required:
No
- User Property:
arguments
- Alias:
prepareVerifyArgs
<autoResolveSnapshots>
- "all" or "0": resolve all kinds of snapshots, ie. project, plugin, report and extension dependencies
- "dependencies" or "1": resolve project dependencies
- "plugins" or "2": resolve plugin dependencis
- "reports" or "3": resolve report dependencies
- "extensions" or "4": resolve extension dependencies
- Type:
java.lang.String
- Since:
3.0.0-M4
- Required:
No
- User Property:
autoResolveSnapshots
<autoVersionSubmodules>
- Type:
boolean
- Since:
2.0-beta-5
- Required:
No
- User Property:
autoVersionSubmodules
- Default:
false
<checkModificationExcludeList>
- Type:
java.lang.String
- Since:
2.1
- Required:
No
- User Property:
checkModificationExcludeList
<checkModificationExcludes>
- Type:
java.lang.String[]
- Since:
2.1
- Required:
No
<commitByProject>
- Type:
boolean
- Since:
2.0-beta-5
- Required:
No
- User Property:
commitByProject
- Default:
false
<completionGoals>
- Type:
java.lang.String
- Since:
2.2
- Required:
No
- User Property:
completionGoals
<developmentVersion>
- Type:
java.lang.String
- Since:
2.0-beta-8
- Required:
No
- User Property:
developmentVersion
<dryRun>
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
- Required:
No
- User Property:
dryRun
- Default:
false
<generateReleasePoms>
- Type:
boolean
- Required:
No
- User Property:
generateReleasePoms
- Default:
false
<javaHome>
JAVA_HOME
parameter to use for forked Maven
invocations.- Type:
java.io.File
- Since:
2.0-beta-8
- Required:
No
- Default:
${java.home}
<lineSeparator>
system
- Use the system line separator.lf
- Use \n as line separator.cr
- Use \r as line separator.crlf
- Use \r\n as line separator.source
- Use the same line separator as it is specified in the current pom.xml.
- Type:
java.lang.String
- Since:
3.0.0-M6
- Required:
No
- User Property:
lineSeparator
- Default:
source
<localRepoDirectory>
- Type:
java.io.File
- Since:
2.0-beta-8
- Required:
No
- Default:
${maven.repo.local}
<mavenExecutorId>
MavenExecutor
implementation to use.- Type:
java.lang.String
- Since:
2.0-beta-8
- Required:
No
- User Property:
mavenExecutorId
- Default:
invoker
<mavenHome>
- Type:
java.io.File
- Since:
2.0-beta-8
- Required:
No
- Default:
${maven.home}
<password>
- Type:
java.lang.String
- Required:
No
- User Property:
password
<pinExternals>
--pin-externals
option in svn copy
command which is new in Subversion 1.9.- Type:
boolean
- Since:
3.0.0-M4
- Required:
No
- User Property:
pinExternals
- Default:
false
<pomFileName>
- Type:
java.lang.String
- Required:
No
- User Property:
pomFileName
- Default:
${project.file.name}
<preparationGoals>
- Type:
java.lang.String
- Required:
No
- User Property:
preparationGoals
- Default:
clean verify
<projectTagNamingPolicyId>
NamingPolicy
implementation used
to calculate the project branch and tag names.- Type:
java.lang.String
- Since:
3.0.0-M1
- Required:
No
- User Property:
projectNamingPolicyId
<projectVersionPolicyId>
VersionPolicy
implementation
used to calculate the project versions.- Type:
java.lang.String
- Since:
2.5.1
- Required:
No
- User Property:
projectVersionPolicyId
- Default:
default
<providerImplementations>
ScmProvider
.- Type:
java.util.Map
- Since:
2.0-beta-6
- Required:
No
<pushChanges>
true
by default to preserve backward
compatibility.- Type:
boolean
- Since:
2.1
- Required:
No
- User Property:
pushChanges
- Default:
true
<releaseStrategyId>
Strategy
implementation used to
specify the phases per goal.- Type:
java.lang.String
- Since:
3.0.0-M5
- Required:
No
- User Property:
releaseStrategyId
- Default:
default
<releaseVersion>
- Type:
java.lang.String
- Since:
2.0-beta-8
- Required:
No
- User Property:
releaseVersion
<remoteTagging>
- Enables a workaround to prevent issue due to svn client > 1.5.0 (fixed in 1.6.5) (https://issues.apache.org/jira/browse/SCM-406)
- You may not want to use this in conjunction with
suppressCommitBeforeTag
, such that no poms with released versions are committed to the working copy ever.
- Type:
boolean
- Since:
2.0-beta-9
- Required:
No
- User Property:
remoteTagging
- Default:
true
<resume>
- Type:
boolean
- Required:
No
- User Property:
resume
- Default:
true
<scmCommentPrefix>
- Type:
java.lang.String
- Since:
2.0-beta-5
- Required:
No
- User Property:
scmCommentPrefix
- Default:
[maven-release-plugin]
<scmDevelopmentCommitComment>
Property interpolation is performed on the value, but in order
to ensure that the interpolation occurs during release, you must
use @{...}
to reference the properties rather than
${...}
. The following properties are available:
prefix
- The comment prefix.groupId
- The groupId of the root project.artifactId
- The artifactId of the root project.releaseLabel
- The release version of the root project.
- Type:
java.lang.String
- Since:
3.0.0-M1
- Required:
No
- User Property:
scmDevelopmentCommitComment
- Default:
@{prefix} prepare for next development iteration
<scmReleaseCommitComment>
Property interpolation is performed on the value, but in order
to ensure that the interpolation occurs during release, you must
use @{...}
to reference the properties rather than
${...}
. The following properties are available:
prefix
- The comment prefix.groupId
- The groupId of the root project.artifactId
- The artifactId of the root project.releaseLabel
- The release version of the root project.
- Type:
java.lang.String
- Since:
3.0.0-M1
- Required:
No
- User Property:
scmReleaseCommitComment
- Default:
@{prefix} prepare release @{releaseLabel}
<scmShallowClone>
- Type:
boolean
- Required:
No
- User Property:
scmShallowClone
- Default:
true
<signTag>
- Type:
boolean
- Since:
3.0.0-M4
- Required:
No
- User Property:
signTag
<suppressCommitBeforeTag>
This requires
remoteTagging
to be set to false. suppressCommitBeforeTag
is useful when you want to
avoid poms with released versions in all revisions of your trunk or
development branch.- Type:
boolean
- Since:
2.1
- Required:
No
- User Property:
suppressCommitBeforeTag
- Default:
false
<tag>
- Type:
java.lang.String
- Required:
No
- User Property:
tag
- Alias:
releaseLabel
<tagBase>
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
- User Property:
tagBase
<tagNameFormat>
@{...}
to reference the properties rather than
${...}
. The following properties are available:
groupId
orproject.groupId
- The groupId of the root project.artifactId
orproject.artifactId
- The artifactId of the root project.version
orproject.version
- The release version of the root project.
- Type:
java.lang.String
- Since:
2.2.0
- Required:
No
- User Property:
tagNameFormat
- Default:
@{project.artifactId}-@{project.version}
<updateDependencies>
- Type:
boolean
- Since:
2.0-beta-5
- Required:
No
- User Property:
updateDependencies
- Default:
true
<updateWorkingCopyVersions>
developmentVersion
.- Type:
boolean
- Since:
2.1
- Required:
No
- User Property:
updateWorkingCopyVersions
- Default:
true
<useEditMode>
- Type:
boolean
- Required:
No
- User Property:
useEditMode
- Default:
false
<username>
- Type:
java.lang.String
- Required:
No
- User Property:
username
<waitBeforeTagging>
waitBeforeTagging
is useful when your source
repository is synced between several instances and access to it is
determined by geographical location, like the SVN repository at the
Apache Software Foundation.- Type:
int
- Since:
2.2
- Required:
No
- User Property:
waitBeforeTagging
- Default:
0
<workItem>
- Type:
java.lang.String
- Since:
3.0.0-M5
- Required:
No
- User Property:
workItem