gpt4 book ai didi

gradle - 如何在Gradle多项目构建的子项目目录中执行命令?

转载 作者:行者123 更新时间:2023-12-03 03:56:32 28 4
gpt4 key购买 nike

我有一个gradle多项目构建,每个子项目都位于单独的git存储库中。在根项目的build.gradle中,我试图为所有子项目定义一个任务,该任务将为每个项目执行一些git命令。但是,任务的工作目录始终是根项目的目录。

如何根据执行任务的当前子项目来更改workingDir?

subprojects {
task someTask{
def p1 = 'git rev-parse --abbrev-ref HEAD'.execute()
p1.waitFor()
println p1.exitValue()
}
}

最佳答案

您可以使用Gradle Exec任务,该任务使用项目目录作为默认工作目录。该任务还具有一个显式更改工作目录的选项(workingDir)。

subprojects {
task someTask(type:Exec) {
commandLine 'git', 'rev-parse', '--abbrev-ref', 'HEAD'
doLast {
logger.lifecycle('Exit value was ' + execResult.exitValue)
}
}
}

关于gradle - 如何在Gradle多项目构建的子项目目录中执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58098635/

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