Gradle,任务类型:Exec-命令行不能在onLast中工作
我想在gradle任务的命令行中执行一些命令(例如,在目录中打印所有文件): 这是工作。好啊但当我把它放在最后一节时,它不起作用:Gradle,任务类型:Exec-命令行不能在onLast中工作,gradle,Gradle,我想在gradle任务的命令行中执行一些命令(例如,在目录中打印所有文件): 这是工作。好啊但当我把它放在最后一节时,它不起作用: task dir(type: Exec) { doLast { def adbCommand = ["dir", "*.*"] commandLine adbCommand standardOutput = new ByteArrayOutputStream() println ("result = " + standardOut
task dir(type: Exec) {
doLast {
def adbCommand = ["dir", "*.*"]
commandLine adbCommand
standardOutput = new ByteArrayOutputStream()
println ("result = " + standardOutput)
}
}
我得到一个错误:
失败:生成失败,出现异常
- 出了什么问题:
原因是,应该在构建的配置阶段配置
Exec
任务,否则您的任务将不会配置并失败
在第一个示例中,由于配置发生在Configurationion阶段,所以一切都正常工作。第二个示例尝试在执行任务之后,在doLast
closure中配置任务
如果确实需要在doLast
中执行某些操作,则可以使用类似的操作,而无需创建特殊任务:
task someTaskName {
doLast {
exec {
commandLine adbCommand
}
}
}
下面是用于执行某些命令的exec
-规范,它是同时配置和执行的。可能重复的
task someTaskName {
doLast {
exec {
commandLine adbCommand
}
}
}