【问题标题】:How do I set the SCM tag in the Maven Release Plugin?如何在 Maven 发布插件中设置 SCM 标签?
【发布时间】: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 更改它(包括所有五个子模块)。请添加答案,以便我接受。

标签: maven version-control maven-release-plugin


【解决方案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 进行设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 2011-10-03
    • 2017-01-27
    相关资源
    最近更新 更多