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"
我有一个 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"