如何使用 gradle 运行 完成某些任务
How to run certain task with gradle
我尝试调查 Gradle 并遵循一些教程,但我对以下内容感到困惑:
我创建了几个简单的任务:
task startProcess{
println 'startProcess'
}
task doStep2{
println 'Step2'
}
task doStep3{
println 'Step3'
}
task finishProcess{
println 'finishProcesss'
}
并尝试执行其中之一:
gradle finishProcess
或使用 defaultTasks
命令 gradle build
:
defaultTasks `finishProcess`
task startProcess{
println 'startProcess'
}
task doStep2{
println 'Step2'
}
task doStep3{
println 'Step3'
}
task finishProcess{
println 'finishProcesss'
}
在这两个选项中,我得到了相同的结果:
> Configure project :
startProcess
Step2
Step3
finishProcesss
BUILD SUCCESSFUL in 1s
如何恰好执行其中一个?
你必须使用register
,我想如果你没有使用它,你只是要求Gradle执行这些任务。
例如
tasks.register('startProcess') {
doLast {
println 'startProcess'
}
}
tasks.register('doStep2') {
doLast {
println 'Step2'
}
}
tasks.register('doStep3') {
doLast {
println 'Step3'
}
}
tasks.register('finishProcess') {
doLast {
println 'finishProcesss'
}
}
tasks.named("build") { finalizedBy("finishProcess") }
注册这些任务,您将能够单独调用每一个。
如果你想link一个特定的任务,例如build
任务。
然后你可以像下面这样使用finalizedBy
。
tasks.named("build") { finalizedBy("finishProcess") }
每当 build
被触发时,这将调用 finishProcess
任务。
强烈推荐官方gradle documintation获取更多任务信息
我尝试调查 Gradle 并遵循一些教程,但我对以下内容感到困惑:
我创建了几个简单的任务:
task startProcess{
println 'startProcess'
}
task doStep2{
println 'Step2'
}
task doStep3{
println 'Step3'
}
task finishProcess{
println 'finishProcesss'
}
并尝试执行其中之一:
gradle finishProcess
或使用 defaultTasks
命令 gradle build
:
defaultTasks `finishProcess`
task startProcess{
println 'startProcess'
}
task doStep2{
println 'Step2'
}
task doStep3{
println 'Step3'
}
task finishProcess{
println 'finishProcesss'
}
在这两个选项中,我得到了相同的结果:
> Configure project :
startProcess
Step2
Step3
finishProcesss
BUILD SUCCESSFUL in 1s
如何恰好执行其中一个?
你必须使用register
,我想如果你没有使用它,你只是要求Gradle执行这些任务。
例如
tasks.register('startProcess') {
doLast {
println 'startProcess'
}
}
tasks.register('doStep2') {
doLast {
println 'Step2'
}
}
tasks.register('doStep3') {
doLast {
println 'Step3'
}
}
tasks.register('finishProcess') {
doLast {
println 'finishProcesss'
}
}
tasks.named("build") { finalizedBy("finishProcess") }
注册这些任务,您将能够单独调用每一个。
如果你想link一个特定的任务,例如build
任务。
然后你可以像下面这样使用finalizedBy
。
tasks.named("build") { finalizedBy("finishProcess") }
每当 build
被触发时,这将调用 finishProcess
任务。
强烈推荐官方gradle documintation获取更多任务信息