我为GroovyGradle编写了这个函数(称之为functions.gradle
(
static def gitVersionCode() {
return "git rev-list --count HEAD".execute().text.trim().toInteger()
}
ext {
gitVersionCode = this.&gitVersionCode
}
其中,我可以从外部build.gradle
文件调用gitVersionCode()
来获取修订计数。我正试图为kts重写这篇文章,但我在方面遇到了问题
a( 从另一个脚本调用它,然后
b( 执行bash命令并将其作为整数返回。我可以把它作为一个字符串,但不是一个整数
它尝试的内容看起来有点像(functions.gradle.kts
(
val gitBuildNumber: String by lazy {
val stdout = ByteArrayOutputStream()
rootProject.exec {
commandLine("git", "rev-list", "--count", "HEAD")
standardOutput = stdout
}
stdout.toString().trim()
}
使用.toInt()
将结果转换为int
val gitBuildNumber: Int by lazy {
val stdout = org.apache.commons.io.output.ByteArrayOutputStream()
rootProject.exec {
commandLine("git", "rev-list", "--count", "HEAD")
standardOutput = stdout
}
stdout.toString().trim().toInt()
}