我需要创建一个初始化任务,当我执行它时,它将在所有其他任务之前运行.
task A {
println "Task A"
}
task initializer {
println "initialized"
}
Run Code Online (Sandbox Code Playgroud)
如果我执行gradle -q A,输出将是:
>initialized
>Task A
Run Code Online (Sandbox Code Playgroud)
现在,如果我要添加:
task B {
println "Task B"
}
Run Code Online (Sandbox Code Playgroud)
执行gradle -q B,我得到:
>initialized
>Task B
Run Code Online (Sandbox Code Playgroud)
所以我执行哪个任务并不重要,它总是首先被"初始化".
lan*_*ava 10
您可以使每个名称不是'初始化程序'的任务依赖于'初始化程序'任务.例如:
task initializer {
doLast { println "initializer" }
}
task task1() {
doLast { println "task1" }
}
// make every other task depend on 'initializer'
// matching() and all() are "live" so any tasks declared after this line will also depend on 'initializer'
tasks.matching { it.name != 'initializer' }.all { Task task ->
task.dependsOn initializer
}
task task2() {
doLast { println "task2" }
}
Run Code Online (Sandbox Code Playgroud)
或者您可以添加BuildListener(或使用其中一种方便方法,例如:Gradle.buildStarted(...))
| 归档时间: |
|
| 查看次数: |
5071 次 |
| 最近记录: |