我在我的build.gradle.kts中有以下代码。我现在已经迁移到了kotlin KTS。需要帮助将这些代码从groovy翻译成kotlin脚本。
fun getVersionFromGit(fallback: String): String {
return try {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
"git describe --tags --abbrev=0 --match "v*.*.*"".execute().text.substring(1).trim()
} else {
["sh , "-c"", "git describe --tags --abbrev=0 --match "v*.*.*""].execute().text.substring(1).trim()
}
} catch (e: Throwable) {
println("Skipping git version")
fallback
}
}
我收到错误
一个月一个月一个月一个月一个月
先谢谢你
最新消息:
fun getVersionFromGit(fallback: String): String {
return try {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
"git describe --tags --abbrev=0 --match \"v*.*.*\"".execute().text.substring(1).trim()
} else {
listOf("sh , \"-c\"", "git describe --tags --abbrev=0 --match \"v*.*.*\"").execute().text.substring(1).trim()
}
} catch (e: Throwable) {
println("Skipping git version")
fallback
}
}
最新的错误是Unresolved reference: execute
4条答案
按热度按时间gv8xihay1#
看起来您没有正确转义字符串中的引号。
"git describe --tags --abbrev=0 --match \"v*.*.*\""
应该是
"git describe --tags --abbrev=0 --match \"v*.*.*\""
个uinbv5nw2#
这样就可以了:
已在MacOS和Windows上测试。
piah890a3#
尝试这样做,但是它可能不会像目前在groovy中那样拆分出来,因为您必须创建函数runCommand来拆分字符串:
gj3fmq9x4#
通过使用
import org.codehaus.groovy.runtime.ProcessGroovyMethods