【问题标题】:Where does axion-release plugin currentVersion come from?axion-release 插件 currentVersion 从哪里来?
【发布时间】:2023-02-09 18:23:43
【问题描述】:

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

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

现在当我跑步时

./gradlew currentVersion

我正进入(状态

Project version: 0.1.0-SNAPSHOT

我尝试添加一个 gradle.properties 包含

version=0.0.1-SNAPSHOT

但是跑步的时候

./gradlew currentVersion

它仍然返回 0.1.0-SNAPSHOT

我想知道这是从哪里来的,是否可以使用 gradle.properties 中的值,或者使用插件版本的最佳方式是什么。

谢谢。

【问题讨论】:

    标签: gradle axion-release-plugin


    【解决方案1】:

    如果它仍然返回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
    

    我希望这会有所帮助,尽管回复晚了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2023-03-26
      • 1970-01-01
      • 2013-10-20
      • 2011-08-02
      • 1970-01-01
      • 2014-12-14
      相关资源
      最近更新 更多