Gradle子项目版本控制

3
我们目前正在将项目从Maven迁移到Gradle。我们的设置如下:
- 父POM项目
- 子项目1 - 子项目2(编译依赖于子项目1) - 子项目3(编译依赖于子项目2和1)
所有这些Maven子项目都有独立的版本。
使用Maven,我们使用版本插件,它确保我们设置(使用插件)例如子项目1的版本,新版本会传播到整个子树(并且相应依赖项2和3也会更改)。
我查看了 Gradle release插件文档,但未能找到有关此功能的提及。 它是否支持此功能,或者是否有其他插件可以实现?
第二个问题,由于我们正在进行maven-gradle迁移,是否有可能将maven版本插件与任何gradle插件结合使用?(在maven中有一个版本,而在gradle中有2和3,并且仍然可以实现相同的行为)。我猜想不行,但只是问一下,如果有人找到了某些解决方案:-),那么我们就不必一次性进行maven-> gradle转换。
提前感谢!
1个回答

6
我喜欢将我的版本保存在单独的文本文件中。 root/build.gradle
def versionTxt = file('version.txt').text.trim()
allprojects {
    version = versionTxt
}

然后你只需要修改version.txt来增加版本号...这种分离很好,例如你可以在version.txt上进行文件历史记录,并查看版本更改与gradle更改隔离开来。

单项目示例在这里


最初,对我来说,将版本分离到父项目的不同文件中听起来有些疯狂。但是经过更多的思考,这种分离可能真的很好。我可能会使用父属性文件而不是txt文件,但主要思想将保持不变 :-). - malejpavouk
1
我喜欢使用单独的文件,这样我就可以从命令行更新。一个发布版本可能是这样的:echo 1.1 > version.txt && ./gradlew release && echo 1.2-SNAPSHOT > version.txt - lance-java

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接