gradle-release-plugin 可以配置为使用 SemVer 吗?

Can gradle-release-plugin be configured to use SemVer?

我有一个 Spring-Boot Gradle 4.10.3 项目,目前运行良好。它使用 gradle-release 插件进行发布和版本管理。

但是,我现在有一个新要求,即为此项目生成的工件必须遵守 SemVer 约定。我知道有 SemVer Gradle 插件,但如果不需要,我不想重新调整我的整个发布过程。如果 gradle-release 让我指定一个文件名模式,那就太好了。

config docs 提到了一个名为 versionPatterns 的参数,它似乎很有用。但是我不知道如何修改给出的例子:

versionPatterns = [ /(\d+)([^\d]*$)/: { Matcher m, Project p -> m.replaceAll("${(m0 as int) + 1}${m[0][2]}") } ]

所以,我需要更改的文件名是:

AppName-1.2.3-SNAPSHOT.jar

收件人:

AppName.1.2.3-SNAPSHOT.jar

所以实际上这似乎只是将第一个破折号替换为点的问题。

这可以用 gradle-release 配置来完成吗?如果没有,有没有更简单的方法?我想继续使用 gradle-release 插件,因为它已经连接到我的所有进程。

我似乎通过配置bootJar部分达到了我的目的。

我使用的是较旧的 Gradle 版本,因此我使用了一些已弃用的属性。但是将以下内容添加到 bootJar 似乎可以解决问题。仍然对 other/better 个想法感兴趣。

archiveName = "$baseName.$version.$extension"