Gradle 在自定义任务中执行命令行
Gradle execute command lines in custom task
在我的 gradle 文件中,我定义了以下任务:
task text_example <<
{
//?!? commandLine ''
println 'Fam Flinstone'
}
我想在此任务中放入一些命令行。我该怎么做?
我正在使用库在 google 播放中自动发布。我的项目基于 Product Flavors,我需要通过命令行为我的每一种口味传递终端命令行。所以我想在 test_example
任务中传递所有命令行。
你基本上有两个主要方便的选择:
使用GradleExec任务类型
task fooExec(type: Exec) {
workingDir "${buildDir}/foo"
commandLine 'echo', 'Hello world!'
doLast {
println "Executed!"
}
}
使用GradleProject.exec方法
task execFoo {
doLast {
exec {
workingDir "${buildDir}/foo"
executable 'echo'
args 'Hello world!'
}
println "Executed!"
}
}
在这两种情况下,您都可以在闭包内使用 ExecSpec 的方法指定执行参数。
执行命令的标准输出和错误输出将重定向到 gradle 进程的 stdout 和 stderr。
在我的 gradle 文件中,我定义了以下任务:
task text_example <<
{
//?!? commandLine ''
println 'Fam Flinstone'
}
我想在此任务中放入一些命令行。我该怎么做?
我正在使用库在 google 播放中自动发布。我的项目基于 Product Flavors,我需要通过命令行为我的每一种口味传递终端命令行。所以我想在 test_example
任务中传递所有命令行。
你基本上有两个主要方便的选择:
使用GradleExec任务类型
task fooExec(type: Exec) { workingDir "${buildDir}/foo" commandLine 'echo', 'Hello world!' doLast { println "Executed!" } }
使用GradleProject.exec方法
task execFoo { doLast { exec { workingDir "${buildDir}/foo" executable 'echo' args 'Hello world!' } println "Executed!" } }
在这两种情况下,您都可以在闭包内使用 ExecSpec 的方法指定执行参数。 执行命令的标准输出和错误输出将重定向到 gradle 进程的 stdout 和 stderr。