如何在 Maven 发布插件中设置 SCM 标签?
Posted
技术标签:
【中文标题】如何在 Maven 发布插件中设置 SCM 标签?【英文标题】:How do I set the SCM tag in the Maven Release Plugin? 【发布时间】:2020-03-24 18:52:15 【问题描述】:当我运行 release:prepare
Maven 目标时,它会询问我三次版本:发布、发布、下一个快照。
是否可以强制第二个总是像第一个一样?
What is the release version for "app1"? (org.dep1:app1) 1.0.9: :
What is the SCM release tag or label for "app1"? (org.dep1:app1) 1.0.9: :
What is the new development version for "app1"? (org.dep1:app1) 1.0.10-SNAPSHOT: :
我希望 git 标签始终与版本号相同,最好跳过第二个问题。
这是我的 Maven 发布插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<tagNameFormat>@project.version</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
【问题讨论】:
你可以使用mvn -B release:prepare release:perform
...
@khmarbaise 批处理选项可能对第一个问题有用,但最后一个可能不同。在这种情况下,它可以像1.1.0-SNAPSHOT
一样响应。但是,默认值可能仍然很好,开发人员可以稍后更改它。谢谢
@khmarbaise 在仔细考虑之后,我认为您的解决方案正是我真正需要的。如果我需要不同的 SNAPSHOT 版本,我可以使用 mvn versions:set -DnewVersion=1.2.0-SNAPSHOT
更改它(包括所有五个子模块)。请添加答案,以便我接受。
【参考方案1】:
最简单的步骤是使用批处理模式,可以这样做:
mvn -B release:prepare release:perform
这将使用默认值而不要求任何内容。
如果你想设置releaseVersion,你可以通过:
mvn -B release:prepare release:perform -DreleaseVersion=2.0.0
要控制将使用哪个development version,如果您不喜欢默认设置,可以通过添加-D developmentVersion=2.1.0-SNAPSHOT
进行设置。
【讨论】:
以上是关于如何在 Maven 发布插件中设置 SCM 标签?的主要内容,如果未能解决你的问题,请参考以下文章
Maven 发布插件在发布标签下添加主干文件夹以进行发布:准备目标