【问题标题】:Maven Release: suggest next minor instead of patch/fix (1.X.0 instead of 1.0.X)Maven 发布:建议使用下一个小版本而不是补丁/修复(1.X.0 而不是 1.0.X)
【发布时间】:2018-03-13 07:56:41
【问题描述】:

我经常使用 maven 发布插件。到目前为止,它完美无缺,但有一件事让我很恼火。看看我刚刚触发的最新发布命令(mvn release:prepare):

我在当前版本 1.4.0-SNAPSHOT 上工作(构建了一些新功能等)。这是“正常”的发布火车,说我不是在修补这个版本,而是在路上推出一个新版本。我的 1.4.0 现在应该完成并发布了。

在那之后,我想开发 1.5.0 版本,即下一个版本,因为这是我计划的新版本。但是发布插件为补丁级别提供建议/自动完成(第三个数字,在我的例子中是 1.4.1-SNAPSHOT)。我想要它用于次要级别(第二个数字,因此它建议 1.5.0-SNAPSHOT)。

如果需要修复,我通常会分支一个标签,修复错误,然后发布一个补丁(我的情况是 1.4.1),然后将其合并回我的主干,提供相同的 1.5.0 版本bug修复。 我不确定这是否是“正确的方式”,或者是否有真正正确的方式,但这就是我们公司的工作方式。

所以我的问题是:有没有办法调整 maven 发布设置,以便建议小更新而不是补丁更新?

从今天开始,我需要手动输入我想要的版本(没什么大不了的,但我很好奇 maven 是否可以在这里支持我)。

PS:我发现了一些 SO 问题,但他们的答案并不适合我。他们也有几年的历史了,也许现在有适当的解决方案,没有一些 groovy 脚本或类似的......:

【问题讨论】:

  • 你有没有找到答案?我不敢相信对于看似常见的情况没有流行/已知的标准!
  • 不,到目前为止没有进一步搜索。在我每月发布一次或更少的版本时,总是手动输入它——这不是什么大不了的事,但我仍然更愿意为此进行配置

标签: maven-release-plugin


【解决方案1】:

SemVerVersionPolicy 可用于更新次要版本。

<plugin>
    <artifactId>maven-release-plugin</artifactId>
    <version>3.0.0-M4</version>
    <configuration>
        <projectVersionPolicyId>SemVerVersionPolicy</projectVersionPolicyId>
    </configuration>
</plugin>

这将建议版本 1.5.0-SNAPSHOT 而不是 1.4.1-SNAPSHOT。

【讨论】:

    猜你喜欢
    • 2018-11-21
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 2018-11-21
    • 2014-04-14
    • 1970-01-01
    • 2021-12-14
    • 2021-10-07
    相关资源
    最近更新 更多