发布:准备

全名:

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

说明:

准备在 SCM 中发布。逐步完成几个阶段以确保 POM 已准备好发布,然后准备 SCM 以最终包含发布的标记版本和所用参数的本地副本中的记录。这之后可以调用release:perform。有关更多信息,请参阅https://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html。

属性:

  • 需要执行一个 Maven 项目。
  • 作为聚合器插件执行。

可选参数

姓名 类型 自从 描述
<添加架构> 布尔值 - 如果之前发布时缺少架构,是否将架构添加到 POM。
默认值为:true。
用户属性是:addSchema。
<allowTimestampedSnapshots> 布尔值 2.0-beta-7 是否允许带时间戳的 SNAPSHOT 依赖项。默认是在查找任何 SNAPSHOT 时失败。
默认值为:false。
用户属性是:ignoreSnapshots。
<参数> 细绳 - 传递给 Maven 执行的附加参数,用空格分隔。
用户属性是:参数。
别名是:prepareVerifyArgs。
<自动解析快照> 细绳 3.0.0-M5 指定是否应自动解析未解析的 SNAPSHOT 依赖项。如果设置了此项,则指定在应自动解析未解析的 SNAPSHOT 依赖项时使用的默认答案( 0:All 1:Project Dependencies 2:Plugins 3:Reports 4:Extensions )。可能的值为:
  • “all”或“0”:解析各种快照,即。项目、插件、报告和扩展依赖项
  • “dependencies”或“1”:解决项目依赖关系
  • “plugins”或“2”:解析插件依赖
  • “报告”或“3”:解决报告依赖关系
  • “extensions”或“4”:解决扩展依赖

用户属性是:autoResolveSnapshots。
<autoVersion子模块> 布尔值 2.0-beta-5 是否自动为子模块分配父版本。如果设置为 false,将提示用户输入每个子模块的版本。
默认值为:false。
用户属性是:autoVersionSubmodules。
<checkModificationExcludeList> 细绳 2.1 checkModificationExcludes 的命令行版本。
用户属性是:checkModificationExcludeList。
<checkModificationExcludes> 细绳[] 2.1 检查工作副本上的修改时将跳过的其他排除过滤器列表。当设置了 checkModificationExcludes 时被忽略。
<提交项目> 布尔值 2.0-beta-5 要做的承诺是原子的或按项目的。
默认值为:false。
用户属性是:commitByProject。
<完成目标> 细绳 2.2 在完成准备步骤后运行的目标,在转换回下一个开发版本之后但在提交之前。空格分隔。
用户属性是:completionGoals。
<开发版本> 细绳 2.0-beta-8 用于新本地工作副本的默认版本。
用户属性是:developmentVersion。
<干运行> 布尔值 - 试运行:不要在 scm 存储库中签入或标记任何内容,或修改签出。运行mvn -DdryRun=true release:prepare有助于检查对 poms 和 scm 操作的修改(仅在控制台上列出)是否按预期工作。修改后的 POM 与原件一起编写,无需修改它们。
默认值为:false。
用户属性是:dryRun。
<generateReleasePoms> 布尔值 - 已弃用。请改用 release:prepare-with-pom。
默认值为:false。
用户属性是:generateReleasePoms。
<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}。
<密码> 细绳 - 要使用的 SCM 密码。
用户属性是:密码。
<pin外部> 布尔值 3.0.0-M5 目前仅使用 svn scm 实现。在svn copy命令中启用 --pin-externals选项, 这是 Subversion 1.9 中的新选项。默认值为:false。用户属性是:pinExternals。


<pom 文件名> 细绳 - 执行任何目标的 POM 的文件名。从 3.0.0 版开始,这默认为正在构建的项目的 POM 文件的名称。
默认值为:${project.file.name}。
用户属性是:pomFileName。
<准备目标> 细绳 - 作为准备步骤的一部分运行的目标,在转换之后但在提交之前。空格分隔。
默认值为:clean verify。
用户属性是:preparationGoals。
<projectTagNamingPolicyId> 细绳 3.0.0-M5 用于计算项目分支和标签名称的NamingPolicy实现的角色提示。
用户属性是:projectNamingPolicyId。
<projectVersionPolicyId> 细绳 2.5.1 用于计算项目版本的VersionPolicy实现的角色提示。
默认值为:默认值。
用户属性是:projectVersionPolicyId。
<providerImplementations> 地图 2.0-beta-6 添加一个新的或覆盖每个提供者的默认实现。键是 scm 前缀,值是 ScmProvider的角色提示。
<pushChanges> 布尔值 2.1 使用 git 实现将或不将更改推送到上游存储库。默认情况下为true以保持向后兼容性。
默认值为:true。
用户属性是:pushChanges。
<releaseStrategyId> 细绳 3.0.0-M5 策略实现的角色提示用于指定每个目标的阶段。
默认值为:默认值。
用户属性是:releaseStrategyId。
<发布版本> 细绳 2.0-beta-8 准备发布或分支时使用的默认版本。
用户属性是:releaseVersion。
<远程标记> 布尔值 2.0-beta-9 目前仅使用 svn scm 实现。
  • 启用解决方法以防止由于 svn client > 1.5.0(在 1.6.5 中修复)而导致的问题 (https://issues.apache.org/jira/browse/SCM-406)
  • 您可能不想将其与 suppressCommitBeforeTag一起使用,这样就不会将具有已发布版本的 pom 提交到工作副本。

默认值为:true。
用户属性是:remoteTagging。
<简历> 布尔值 - 从停止点恢复之前的发布尝试。
默认值为:true。
用户属性是:resume。
<scmCommentPrefix> 细绳 2.0-beta-5 用于所有 SCM 更改的消息前缀。
默认值为:[maven-release-plugin]。
用户属性是:scmCommentPrefix。
<scmDevelopmentCommitComment> 细绳 3.0.0-M5 将 pom.xml 设置回开发时的 SCM 提交注释。默认为“@{prefix} 为下一次开发迭代做准备”。

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

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

默认值为:@{prefix} 为下一次开发迭代做准备。
用户属性是:scmDevelopmentCommitComment。
<scmReleaseCommitComment> 细绳 3.0.0-M5 将 pom.xml 设置为 release 时的 SCM 提交注释。默认为“@{prefix} 准备发布@{releaseLabel}”。

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

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

默认值为:@{prefix} 准备发布 @{releaseLabel}。
用户属性是:scmReleaseCommitComment。
<标志标签> 布尔值 3.0.0-M5 尽可能签署 SCM 标签,例如在使用 git-exe 时使用“--sign”参数。
用户属性是:signTag。
<suppressCommitBeforeTag> 布尔值 2.1 是否在创建标记之前禁止提交对工作副本的更改。

这需要将 remoteTagging设置为 false。

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

默认值为:@{project.artifactId}-@{project.version}。
用户属性是:tagNameFormat。
<updateDependencies> 布尔值 2.0-beta-5 是否将依赖版本更新到下一个开发版本。
默认值为:true。
用户属性是:updateDependencies。
<updateWorkingCopyVersions> 布尔值 2.1 是否将工作副本版本提升到 developmentVersion。
默认值为:true。
用户属性是:updateWorkingCopyVersions。
<使用编辑模式> 布尔值 - 是否在单片机上使用“编辑”模式,在单片机操作期间锁定文件进行编辑。
默认值为:false。
用户属性是:useEditMode。
<用户名> 细绳 - 要使用的 SCM 用户名。
用户属性是:用户名。
<waitBeforeTagging> 整数 2.2 在创建标签之前等待指定的秒数。 当您的源存储库在多个实例之间同步并且对它的访问由地理位置确定时,
waitBeforeTagging非常有用,例如 Apache 软件基金会的 SVN 存储库。
默认值为:0。
用户属性是:waitBeforeTagging。
<工作项> 细绳 3.0.0-M5 用于 RTC、TFS 等 SCM 的工作项,可能需要额外信息来执行 pushChange 操作。
用户属性是:workItem。

参数详情

<添加架构>

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

<allowTimestampedSnapshots>

是否允许带时间戳的 SNAPSHOT 依赖项。默认是在查找任何 SNAPSHOT 时失败。
  • 类型:布尔值
  • 自:2.0-beta-7
  • 要求:否
  • 用户属性:ignoreSnapshots
  • 默认值:假

<参数>

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

<自动解析快照>

指定是否应自动解析未解析的 SNAPSHOT 依赖项。如果设置了此项,则指定在应自动解析未解析的 SNAPSHOT 依赖项时使用的默认答案( 0:All 1:Project Dependencies 2:Plugins 3:Reports 4:Extensions )。可能的值为:
  • “all”或“0”:解析各种快照,即。项目、插件、报告和扩展依赖项
  • “dependencies”或“1”:解决项目依赖关系
  • “plugins”或“2”:解析插件依赖
  • “报告”或“3”:解决报告依赖关系
  • “extensions”或“4”:解决扩展依赖
  • 类型:java.lang.String
  • 自:3.0.0-M5
  • 要求:否
  • 用户属性:autoResolveSnapshots

<autoVersion子模块>

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

<checkModificationExcludeList>

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

<checkModificationExcludes>

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

<提交项目>

要做的承诺是原子的或按项目的。
  • 类型:布尔值
  • 从: 2.0-beta-5
  • 要求:否
  • 用户属性:commitByProject
  • 默认值:假

<完成目标>

在完成准备步骤后运行的目标,在转换回下一个开发版本之后但在提交之前。空格分隔。
  • 类型:java.lang.String
  • 从: 2.2
  • 要求:否
  • 用户属性:completionGoals

<开发版本>

用于新本地工作副本的默认版本。
  • 类型:java.lang.String
  • 从: 2.0-beta-8
  • 要求:否
  • 用户属性:开发版本

<干运行>

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

<generateReleasePoms>

已弃用。请改用 release:prepare-with-pom。
(没有说明)
  • 类型:布尔值
  • 要求:否
  • 用户属性:generateReleasePoms
  • 默认值:假

<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
  • 要求:否
  • 用户属性:密码

<pin外部>

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

<pom 文件名>

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

<准备目标>

作为准备步骤的一部分运行的目标,在转换之后但在提交之前。空格分隔。
  • 类型:java.lang.String
  • 要求:否
  • 用户属性:preparationGoals
  • 默认值:干净验证

<projectTagNamingPolicyId>

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

<projectVersionPolicyId>

用于计算项目版本的VersionPolicy实现的角色提示。
  • 类型:java.lang.String
  • 自:2.5.1
  • 要求:否
  • 用户属性: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
  • 默认:默认

<发布版本>

准备发布或分支时使用的默认版本。
  • 类型:java.lang.String
  • 从: 2.0-beta-8
  • 要求:否
  • 用户属性:releaseVersion

<远程标记>

目前仅使用 svn scm 实现。
  • 启用解决方法以防止由于 svn client > 1.5.0(在 1.6.5 中修复)而导致的问题 (https://issues.apache.org/jira/browse/SCM-406)
  • 您可能不想将其与 suppressCommitBeforeTag一起使用,这样就不会将具有已发布版本的 pom 提交到工作副本。
  • 类型:布尔值
  • 从: 2.0-beta-9
  • 要求:否
  • 用户属性:remoteTagging
  • 默认值:真

<简历>

从停止点恢复之前的发布尝试。
  • 类型:布尔值
  • 要求:否
  • 用户属性:简历
  • 默认值:真

<scmCommentPrefix>

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

<scmDevelopmentCommitComment>

将 pom.xml 设置回开发时的 SCM 提交注释。默认为“@{prefix} 为下一次开发迭代做准备”。

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

  • prefix - 评论前缀。
  • groupId - 根项目的 groupId。
  • artifactId - 根项目的 artifactId。
  • releaseLabel - 根项目的发布版本。
  • 类型:java.lang.String
  • 自:3.0.0-M5
  • 要求:否
  • 用户属性:scmDevelopmentCommitComment
  • 默认值:@{prefix} 为下一次开发迭代做准备

<scmReleaseCommitComment>

将 pom.xml 设置为 release 时的 SCM 提交注释。默认为“@{prefix} 准备发布@{releaseLabel}”。

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

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

<标志标签>

尽可能签署 SCM 标签,例如在使用 git-exe 时使用“--sign”参数。
  • 类型:布尔值
  • 自:3.0.0-M5
  • 要求:否
  • 用户属性:signTag

<suppressCommitBeforeTag>

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

这需要将 remoteTagging设置为 false。

当您想避免在主干或开发分支的所有修订版中使用已发布版本的 pom 时, suppressCommitBeforeTag很有用。
  • 类型:布尔值
  • 从: 2.1
  • 要求:否
  • 用户属性:suppressCommitBeforeTag
  • 默认值:假

<标签>

要使用的 SCM 标签。
  • 类型:java.lang.String
  • 要求:否
  • 用户属性:标签
  • 别名:releaseLabel

<标签库>

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

<标签名称格式>

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

<updateDependencies>

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

<updateWorkingCopyVersions>

是否将工作副本版本提升到 developmentVersion。
  • 类型:布尔值
  • 从: 2.1
  • 要求:否
  • 用户属性:updateWorkingCopyVersions
  • 默认值:真

<使用编辑模式>

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

<用户名>

要使用的 SCM 用户名。
  • 类型:java.lang.String
  • 要求:否
  • 用户属性:用户名

<waitBeforeTagging>

在创建标签之前等待指定的秒数。 当您的源存储库在多个实例之间同步并且对它的访问由地理位置确定时,
waitBeforeTagging非常有用,例如 Apache 软件基金会的 SVN 存储库。
  • 类型:整数
  • 从: 2.2
  • 要求:否
  • 用户属性:waitBeforeTagging
  • 默认值:0

<工作项>

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