发布:分支

全名

org.apache.maven.plugins:maven-release-plugin:3.0.0-M5:branch

说明

在 SCM 中分支项目,使用与release:prepare目标相同的步骤 ,创建分支而不是标签。有关更多信息,请参阅https://maven.apache.org/plugins/maven-release-plugin/examples/branch.html

属性

  • 需要执行一个 Maven 项目。
  • 作为聚合器插件执行。
  • 自版本:2.0-beta-6

可选参数

姓名 类型 自从 描述
<添加架构> 布尔值 2.0-beta-6 如果之前发布时缺少架构,是否将架构添加到 POM。
默认值为true
用户属性是addSchema
<参数> 细绳 2.0-beta-6 传递给 Maven 执行的附加参数,用空格分隔。
用户属性是参数
别名是prepareVerifyArgs
<autoVersion子模块> 布尔值 2.0-beta-6 是否自动为子模块分配父版本。如果设置为 false,将提示用户输入每个子模块的版本。
默认值为false
用户属性是autoVersionSubmodules
<分支库> 细绳 2.0 SVN 中的分支基目录,如果不使用标准 svn 布局(trunk/tags/branches),则必须定义它。例如, http://svn.apache.org/repos/asf/maven/plugins/branches。该 URL 是一个 SVN URL,不包括 SCM 提供程序和协议。
用户属性是branchBase
<分支名称> 细绳 2.0-beta-6 要使用的分支名称。
用户属性是branchName
<checkModificationExcludeList> 细绳 2.1 checkModificationExcludes 的命令行版本。
用户属性是checkModificationExcludeList
<checkModificationExcludes> 细绳[] 2.1 检查工作副本上的修改时将跳过的其他排除过滤器列表。当设置了 checkModificationExcludes 时被忽略。
<开发版本> 细绳 2.0 指定工作副本的新版本。此参数仅在updateWorkingCopyVersions = true时才有意义。
用户属性是developmentVersion
<干运行> 布尔值 2.0-beta-6 试运行:不要在 scm 存储库中签入或标记任何内容,或修改签出。运行mvn -DdryRun=true release:prepare有助于检查对 poms 和 scm 操作的修改(仅在控制台上列出)是否按预期工作。修改后的 POM 与原件一起编写,无需修改它们。
默认值为false
用户属性是dryRun
<java首页> 文件 2.0-beta-8 用于分叉 Maven 调用的JAVA_HOME参数。
默认值为${java.home}
<本地仓库目录> 文件 2.0-beta-8 用于此构建的命令行本地存储库目录(如果指定)。
默认值为${maven.repo.local}
<mavenExecutorId> 细绳 2.0-beta-8 要使用的MavenExecutor实现的角色提示。
默认值为调用者
用户属性是mavenExecutorId
<maven首页> 文件 2.0-beta-8 用于分叉的 Maven 调用的M2_HOME参数。
默认值为${maven.home}
<密码> 细绳 2.0-beta-6 要使用的 SCM 密码。
用户属性是密码
<pin外部> 布尔值 3.0.0-M5 目前仅使用 svn scm 实现。在svn copy命令中启用 --pin-externals选项, 这是 Subversion 1.9 中的新选项。默认值为false用户属性是pinExternals


<pom 文件名> 细绳 2.0-beta-6 执行任何目标的 POM 的文件名。从 3.0.0 版开始,这默认为正在构建的项目的 POM 文件的名称。
默认值为${project.file.name}
用户属性是pomFileName
<projectBranchNamingPolicyId> 细绳 3.0.0-M5 用于计算项目名称的NamingPolicy实现的角色提示。
用户属性是projectNamingPolicyId
<projectVersionPolicyId> 细绳 3.0.0-M5 用于计算项目版本的VersionPolicy实现的角色提示。
默认值为默认值
用户属性是projectVersionPolicyId
<providerImplementations> 地图 2.0-beta-6 添加一个新的或覆盖每个提供者的默认实现。键是 scm 前缀,值是 ScmProvider的角色提示。
<pushChanges> 布尔值 2.1 使用 git 实现将或不将更改推送到上游存储库。默认情况下为true以保持向后兼容性。
默认值为true
用户属性是pushChanges
<releaseStrategyId> 细绳 3.0.0-M5 策略实现的角色提示用于指定每个目标的阶段。
默认值为默认值
用户属性是releaseStrategyId
<发布版本> 细绳 2.0 指定分支的新版本。此参数仅在updateBranchVersions = true时才有意义。
用户属性是releaseVersion
<远程标记> 布尔值 2.0 目前仅使用 svn scm 实现。启用解决方法以防止由于 svn client > 1.5.0 (https://issues.apache.org/jira/browse/SCM-406) 而导致的问题
默认值为: true
用户属性是remoteTagging
<scmBranchCommitComment> 细绳 3.0.0-M1 分支时的 SCM 提交注释。默认为“@{prefix} 准备分支@{releaseLabel}”。

对值执行属性插值,但为了确保在释放期间发生插值,您必须使用@{...}引用属性而不是 ${...}。以下属性可用:

  • prefix - 评论前缀。
  • groupId - 根项目的 groupId。
  • artifactId - 根项目的 artifactId。
  • releaseLabel - 根项目的发布版本。

默认值为@{prefix} 准备分支 @{releaseLabel}
用户属性是scmBranchCommitComment
<scmCommentPrefix> 细绳 2.0-beta-5 用于所有 SCM 更改的消息前缀。
默认值为[maven-release-plugin]
用户属性是scmCommentPrefix
<suppressCommitBeforeBranch> 布尔值 2.1 是否在创建标记之前禁止提交对工作副本的更改。

这需要将 remoteTagging设置为 false。当您想在主干或开发分支的所有修订版中避免使用已发布版本的 pom 时,

suppressCommitBeforeBranch很有用。
默认值为false
用户属性是suppressCommitBeforeBranch
<标签> 细绳 2.0-beta-6 要使用的 SCM 标签。
用户属性是标签
别名是releaseLabel
<标签库> 细绳 2.0-beta-6 SVN 中的标签基目录,如果不使用标准的 svn 布局(trunk/tags/branches),则必须定义它。例如, http://svn.apache.org/repos/asf/maven/plugins/tags。该 URL 是一个 SVN URL,不包括 SCM 提供程序和协议。
用户属性是tagBase
<标签名称格式> 细绳 2.2.0 如果未指定,则生成标签名称时使用的格式。属性插值是在标签上进行的,但为了确保在发布期间发生插值,您必须使用 @{...}来引用属性而不是 ${...}。以下属性可用:
  • groupIdproject.groupId - 根项目的 groupId。
  • artifactIdproject.artifactId - 根项目的 artifactId。
  • versionproject.version - 根项目的发布版本。

默认值为@{project.artifactId}-@{project.version}
用户属性是tagNameFormat
<更新分支版本> 布尔值 2.0-beta-6 是否更新分支中的版本。
默认值为false
用户属性是updateBranchVersions
<updateDependencies> 布尔值 2.0-beta-6 是否将依赖版本更新到下一个开发版本。
默认值为true
用户属性是updateDependencies
<updateVersionsToSnapshot> 布尔值 2.0-beta-6 是否将版本更新为分支中的 SNAPSHOT。
默认值为true
用户属性是updateVersionsToSnapshot
<updateWorkingCopyVersions> 布尔值 2.0-beta-6 是否更新工作副本中的版本。
默认值为true
用户属性是updateWorkingCopyVersions
<使用编辑模式> 布尔值 2.0-beta-6 是否在单片机上使用“编辑”模式,在单片机操作期间锁定文件进行编辑。
默认值为false
用户属性是useEditMode
<用户名> 细绳 2.0-beta-6 要使用的 SCM 用户名。
用户属性是用户名
<工作项> 细绳 3.0.0-M5 用于 RTC、TFS 等 SCM 的工作项,可能需要额外信息来执行 pushChange 操作。
用户属性是workItem

参数详情

<添加架构>

如果之前发布时缺少架构,是否将架构添加到 POM。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性addSchema
  • 默认值

<参数>

传递给 Maven 执行的附加参数,用空格分隔。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性参数
  • 别名prepareVerifyArgs

<autoVersion子模块>

是否自动为子模块分配父版本。如果设置为 false,将提示用户输入每个子模块的版本。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性autoVersionSubmodules
  • 默认值

<分支库>

SVN 中的分支基目录,如果不使用标准 svn 布局(trunk/tags/branches),则必须定义它。例如, http://svn.apache.org/repos/asf/maven/plugins/branches。该 URL 是一个 SVN URL,不包括 SCM 提供程序和协议。
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性branchBase

<分支名称>

要使用的分支名称。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性分支名称

<checkModificationExcludeList>

checkModificationExcludes 的命令行版本。
  • 类型java.lang.String
  • : 2.1
  • 要求
  • 用户属性checkModificationExcludeList

<checkModificationExcludes>

检查工作副本上的修改时将跳过的其他排除过滤器列表。当设置了 checkModificationExcludes 时被忽略。
  • 类型java.lang.String[]
  • : 2.1
  • 要求

<开发版本>

指定工作副本的新版本。此参数仅在updateWorkingCopyVersions = true时才有意义。
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性开发版本

<干运行>

试运行:不要在 scm 存储库中签入或标记任何内容,或修改签出。运行mvn -DdryRun=true release:prepare有助于检查对 poms 和 scm 操作的修改(仅在控制台上列出)是否按预期工作。修改后的 POM 与原件一起编写,无需修改它们。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性dryRun
  • 默认值

<java首页>

用于分叉 Maven 调用的JAVA_HOME参数。
  • 类型java.io.File
  • : 2.0-beta-8
  • 要求
  • 默认值${java.home}

<本地仓库目录>

用于此构建的命令行本地存储库目录(如果指定)。
  • 类型java.io.File
  • : 2.0-beta-8
  • 要求
  • 默认值${maven.repo.local}

<mavenExecutorId>

要使用的MavenExecutor实现的角色提示。
  • 类型java.lang.String
  • : 2.0-beta-8
  • 要求
  • 用户属性mavenExecutorId
  • 默认值调用者

<maven首页>

用于分叉的 Maven 调用的M2_HOME参数。
  • 类型java.io.File
  • : 2.0-beta-8
  • 要求
  • 默认值${maven.home}

<密码>

要使用的 SCM 密码。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性密码

<pin外部>

目前仅使用 svn scm 实现。在svn copy命令中启用 --pin-externals选项, 这是 Subversion 1.9 中的新选项。
  • 类型布尔值
  • 3.0.0-M5
  • 要求
  • 用户属性pinExternals
  • 默认值

<pom 文件名>

执行任何目标的 POM 的文件名。从 3.0.0 版开始,这默认为正在构建的项目的 POM 文件的名称。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性pomFileName
  • 默认值${project.file.name}

<projectBranchNamingPolicyId>

用于计算项目名称的NamingPolicy实现的角色提示。
  • 类型java.lang.String
  • 3.0.0-M5
  • 要求
  • 用户属性projectNamingPolicyId

<projectVersionPolicyId>

用于计算项目版本的VersionPolicy实现的角色提示。
  • 类型java.lang.String
  • 3.0.0-M5
  • 要求
  • 用户属性projectVersionPolicyId
  • 默认默认

<providerImplementations>

添加一个新的或覆盖每个提供者的默认实现。键是 scm 前缀,值是 ScmProvider的角色提示。
  • 类型java.util.Map
  • 2.0-beta-6
  • 要求

<pushChanges>

使用 git 实现将或不将更改推送到上游存储库。默认情况下为true以保持向后兼容性。
  • 类型布尔值
  • : 2.1
  • 要求
  • 用户属性pushChanges
  • 默认值

<releaseStrategyId>

策略实现的角色提示用于指定每个目标的阶段。
  • 类型java.lang.String
  • 3.0.0-M5
  • 要求
  • 用户属性releaseStrategyId
  • 默认默认

<发布版本>

指定分支的新版本。此参数仅在updateBranchVersions = true时才有意义。
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性releaseVersion

<远程标记>

目前仅使用 svn scm 实现。启用解决方法以防止由于 svn client > 1.5.0 (https://issues.apache.org/jira/browse/SCM-406) 而导致的问题
  • 类型布尔值
  • : 2.0
  • 要求
  • 用户属性remoteTagging
  • 默认值

<scmBranchCommitComment>

分支时的 SCM 提交注释。默认为“@{prefix} 准备分支@{releaseLabel}”。

对值执行属性插值,但为了确保在释放期间发生插值,您必须使用@{...}引用属性而不是 ${...}。以下属性可用:

  • prefix - 评论前缀。
  • groupId - 根项目的 groupId。
  • artifactId - 根项目的 artifactId。
  • releaseLabel - 根项目的发布版本。
  • 类型java.lang.String
  • 3.0.0-M1
  • 要求
  • 用户属性scmBranchCommitComment
  • 默认值@{prefix} 准备分支 @{releaseLabel}

<scmCommentPrefix>

用于所有 SCM 更改的消息前缀。
  • 类型java.lang.String
  • : 2.0-beta-5
  • 要求
  • 用户属性scmCommentPrefix
  • 默认值[maven-release-plugin]

<suppressCommitBeforeBranch>

是否在创建标记之前禁止提交对工作副本的更改。

这需要将 remoteTagging设置为 false。当您想在主干或开发分支的所有修订版中避免使用已发布版本的 pom 时,

suppressCommitBeforeBranch很有用。
  • 类型布尔值
  • : 2.1
  • 要求
  • 用户属性suppressCommitBeforeBranch
  • 默认值

<标签>

要使用的 SCM 标签。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性标签
  • 别名releaseLabel

<标签库>

SVN 中的标签基目录,如果不使用标准的 svn 布局(trunk/tags/branches),则必须定义它。例如, http://svn.apache.org/repos/asf/maven/plugins/tags。该 URL 是一个 SVN URL,不包括 SCM 提供程序和协议。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性tagBase

<标签名称格式>

如果未指定,则生成标签名称时使用的格式。属性插值是在标签上进行的,但为了确保在发布期间发生插值,您必须使用 @{...}来引用属性而不是 ${...}。以下属性可用:
  • groupIdproject.groupId - 根项目的 groupId。
  • artifactIdproject.artifactId - 根项目的 artifactId。
  • versionproject.version - 根项目的发布版本。
  • 类型java.lang.String
  • 2.2.0
  • 要求
  • 用户属性tagNameFormat
  • 默认值@{project.artifactId}-@{project.version}

<更新分支版本>

是否更新分支中的版本。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性updateBranchVersions
  • 默认值

<updateDependencies>

是否将依赖版本更新到下一个开发版本。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性updateDependencies
  • 默认值

<updateVersionsToSnapshot>

是否将版本更新为分支中的 SNAPSHOT。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性updateVersionsToSnapshot
  • 默认值

<updateWorkingCopyVersions>

是否更新工作副本中的版本。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性updateWorkingCopyVersions
  • 默认值

<使用编辑模式>

是否在单片机上使用“编辑”模式,在单片机操作期间锁定文件进行编辑。
  • 类型布尔值
  • 2.0-beta-6
  • 要求
  • 用户属性useEditMode
  • 默认值

<用户名>

要使用的 SCM 用户名。
  • 类型java.lang.String
  • 2.0-beta-6
  • 要求
  • 用户属性用户名

<工作项>

用于 RTC、TFS 等 SCM 的工作项,可能需要其他信息才能执行 pushChange 操作。
  • 类型java.lang.String
  • 3.0.0-M5
  • 要求
  • 用户属性workItem