发布:用 pom 准备

全名

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

说明

准备在 SCM 中发布,完全解决依赖关系以生成“发布 POM”。

属性

  • 需要执行一个 Maven 项目。
  • 作为聚合器插件执行。
  • 需要对范围内的工件进行依赖解析:test
  • 自版本:2.0

可选参数

姓名 类型 自从 描述
<添加架构> 布尔值 2.0 如果之前发布时缺少架构,是否将架构添加到 POM。
默认值为true
用户属性是addSchema
<allowTimestampedSnapshots> 布尔值 2.0-beta-7 是否允许带时间戳的 SNAPSHOT 依赖项。默认是在查找任何 SNAPSHOT 时失败。
默认值为false
用户属性是ignoreSnapshots
<参数> 细绳 2.0 传递给 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
<干运行> 布尔值 2.0 试运行:不要在 scm 存储库中签入或标记任何内容,或修改签出。运行mvn -DdryRun=true release:prepare有助于检查对 poms 和 scm 操作的修改(仅在控制台上列出)是否按预期工作。修改后的 POM 与原件一起编写,无需修改它们。
默认值为false
用户属性是dryRun
<generateReleasePoms> 布尔值 2.0 是否生成包含有关项目的已解析信息的release-pom.xml文件。
默认值为true
用户属性是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}
<密码> 细绳 2.0 要使用的 SCM 密码。
用户属性是密码
<pin外部> 布尔值 3.0.0-M5 目前仅使用 svn scm 实现。在svn copy命令中启用 --pin-externals选项, 这是 Subversion 1.9 中的新选项。默认值为false用户属性是pinExternals


<pom 文件名> 细绳 2.0 执行任何目标的 POM 的文件名。从 3.0.0 版开始,这默认为正在构建的项目的 POM 文件的名称。
默认值为${project.file.name}
用户属性是pomFileName
<准备目标> 细绳 2.0 作为准备步骤的一部分运行的目标,在转换之后但在提交之前。空格分隔。
默认值为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
<简历> 布尔值 2.0 从停止点恢复之前的发布尝试。
默认值为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
<标签> 细绳 2.0 要使用的 SCM 标签。
用户属性是标签
别名是releaseLabel
<标签库> 细绳 2.0 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
<updateDependencies> 布尔值 2.0-beta-5 是否将依赖版本更新到下一个开发版本。
默认值为true
用户属性是updateDependencies
<updateWorkingCopyVersions> 布尔值 2.1 是否将工作副本版本提升到 developmentVersion
默认值为true
用户属性是updateWorkingCopyVersions
<使用编辑模式> 布尔值 2.0 是否在单片机上使用“编辑”模式,在单片机操作期间锁定文件进行编辑。
默认值为false
用户属性是useEditMode
<用户名> 细绳 2.0 要使用的 SCM 用户名。
用户属性是用户名
<waitBeforeTagging> 整数 2.2 在创建标签之前等待指定的秒数。 当您的源存储库在多个实例之间同步并且对它的访问由地理位置确定时,
waitBeforeTagging非常有用,例如 Apache 软件基金会的 SVN 存储库。
默认值为0
用户属性是waitBeforeTagging
<工作项> 细绳 3.0.0-M5 用于 RTC、TFS 等 SCM 的工作项,可能需要额外信息来执行 pushChange 操作。
用户属性是workItem

参数详情

<添加架构>

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

<allowTimestampedSnapshots>

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

<参数>

传递给 Maven 执行的附加参数,用空格分隔。
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性参数
  • 别名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 与原件一起编写,无需修改它们。
  • 类型布尔值
  • : 2.0
  • 要求
  • 用户属性dryRun
  • 默认值

<generateReleasePoms>

是否生成包含有关项目的已解析信息的release-pom.xml文件。
  • 类型布尔值
  • : 2.0
  • 要求
  • 用户属性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
  • : 2.0
  • 要求
  • 用户属性密码

<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
  • 要求
  • 用户属性pomFileName
  • 默认值${project.file.name}

<准备目标>

作为准备步骤的一部分运行的目标,在转换之后但在提交之前。空格分隔。
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性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
  • 默认值

<简历>

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

<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
  • : 2.0
  • 要求
  • 用户属性标签
  • 别名releaseLabel

<标签库>

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

<标签名称格式>

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

<updateDependencies>

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

<updateWorkingCopyVersions>

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

<使用编辑模式>

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

<用户名>

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

<waitBeforeTagging>

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

<工作项>

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