【问题标题】:Gradle subproject versioningGradle 子项目版本控制
【发布时间】:2017-01-06 07:12:15
【问题描述】:

我们目前正在将我们的项目从 maven 迁移到 gradle。我们的设置如下所示:

  • 父pom项目
    • 子项目1
    • 子项目 2(编译依赖 1)
    • 子项目 3(编译依赖于 2 和 1)

所有这些 maven 子项目都是独立版本的

在 Maven 中,我们使用版本插件,它确保我们设置(使用插件)例如子项目 1 的版本,新版本传播到整个子树(并且 2 和 3 中的相应依赖项也被更改) )。

我正在寻找gradle release plugin bud 的文档,但找不到有关此功能的提及。它是否支持它,或者是否有任何其他插件可以支持它?

第二个问题,因为我们正处于 maven-gradle 迁移的中间,是否有可能以某种方式将 maven 版本插件与任何此类 gradle 插件结合起来? (在 Maven 中有 1 个版本,在 gradle 中有 2 个和 3 个版本,并且仍然可以实现该行为)。我的猜测是不是,只是问一下,如果有人还没有找到一些解决方案:-),所以我们不必在一次大爆炸中做 maven -> gradle。

提前致谢!

【问题讨论】:

    标签: maven gradle gradle-release-plugin


    【解决方案1】:

    我喜欢将我的版本保存在单独的文本文件中

    root/build.gradle

    def versionTxt = file('version.txt').text.trim()
    allprojects {
        version = versionTxt
    }
    

    然后您可以调整 version.txt 以增加版本...这种分离很棒,例如您可以在 version.txt 上创建文件历史记录并查看与 gradle 更改隔离的版本更改。

    单个项目示例here

    【讨论】:

    • 最初我的想法对我来说听起来有点疯狂(将版本分开在父项目的单独文件中)。但是再想一想,这种分离可能真的很棒。我可能会使用父属性文件而不是 txt,但主要思想仍然是:-)。
    • 我喜欢一个单独的文件,所以我可以从命令行更新。发布可能类似于echo 1.1 > version.txt && ./gradlew release && echo 1.2-SNAPSHOT > version.txt
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 2010-09-05
    • 2016-11-29
    • 2021-11-22
    • 2010-11-30
    • 2011-09-01
    相关资源
    最近更新 更多