gpt4 book ai didi

git - 基于 git 的 build.gradle 版本控制

转载 作者:太空狗 更新时间:2023-10-29 13:30:04 26 4
gpt4 key购买 nike

我是 Minecraft 模组制作者,我使用 ForgeGradle用于构建我的模组的插件。

我目前正在尝试根据我的 git 修订和哈希设置版本控制方案。在 arch linux 的 PKGBUILD 系统下,我会使用:

pkgver() {
cd $_pkgbase
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

最终会得到类似于 r392.2cc2ebc

的内容

我正在尝试以下内容:

ext.revision = 'git rev-list --count HEAD'.execute()
ext.hash = 'git rev-parse --short HEAD'.execute()
version = "r${revision.text}.${hash.text}"

这几乎满足了我的需要,r70?.11ae542?;不确定如何去掉版本每个部分中的 ?。Gradle 2.0,建议?

根据 Peter Niederwieser 进行进一步调查的评论让我使用信息标志运行构建,而且似乎换行符被卡在文件名中:

Executing task ':reobf' (up-to-date check took 0.004 secs) due to:
Output file build/libs/CreepyPastaCraft-1.7.x-r70
.11ae542
-universal.jar has changed.

最佳答案

好吧,由于 Peter 拒绝将他的评论转化为答案,为了其他希望这样做的人的利益,我将回答我自己的问题:

ext.revision = 'git rev-list --count HEAD'.execute().text.trim()
ext.hash = 'git rev-parse --short HEAD'.execute().text.trim()
version = "r${revision}.${hash}"

这与我问题中的 bash 表达式产生相同的结果。

关于git - 基于 git 的 build.gradle 版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24857694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com