gradle axion发布插件currentVersion来自哪里?

bprjcwpo  于 2023-02-13  发布在  其他
关注(0)|答案(1)|浏览(138)

我正在使用gradle,我添加了插件

plugins {
    id 'pl.allegro.tech.build.axion-release' version '1.14.0'
}

现在当我奔跑的时候

./gradlew currentVersion

我越来越

Project version: 0.1.0-SNAPSHOT

我尝试添加gradle.properties包含以下内容的www.example.com

version=0.0.1-SNAPSHOT

但是在跑步的时候

./gradlew currentVersion

它仍然返回0.1.0-快照
我想知道这是从哪里来的,是否可以使用www.example.com的值gradle.properties,或者使用插件版本的最佳方式是什么。
谢谢。

rsl1atfo

rsl1atfo1#

如果它仍然返回0.1.0-SNAPSHOT,那是设计使然。正如Allegro的Adam Dubiel所说:
... axion-release在设计上不包含build. gradle中的版本号。axion-relese的理念是版本不在文件中声明,而是由SCM - git跟踪的源代码版本的产物。
然后,您可以查看documentationAllegro tech blog
axion-release-plugin的流程很简单。每次你开始一个构建时,它都会寻找最接近当前提交的版本标签,并从中提取版本号。如果你碰巧在一个有标签的提交上,你就在发布版本上操作。如果没有,补丁版本会增加,并附加SNAPSHOT后缀。
下面是流程的一个示例:

$ git tag
project-1.0.0

$ ./gradlew currentVersion
1.0.0

$ git add . && git commit -m "I've just changed something"

$ ./gradlew currentVersion
1.0.1-SNAPSHOT

$ ./gradlew release

$ git tag
project-1.0.0 project-1.0.1

$ ./gradlew cV # gradle magic - currentVersion
1.0.1

我希望这能有所帮助,尽管答复很晚

相关问题