Android 如何使新的依赖项任务比基础任务的所有其他现有依赖项任务先执行
我在下面编写了一个演示build.gradle:Android 如何使新的依赖项任务比基础任务的所有其他现有依赖项任务先执行,android,gradle,Android,Gradle,我在下面编写了一个演示build.gradle: task a << { println "this is task ${name}" } task b << { println "this is task ${name}" } task c << { println "this is task ${name}" } task d << { println "this is task ${name}" } task
task a << {
println "this is task ${name}"
}
task b << {
println "this is task ${name}"
}
task c << {
println "this is task ${name}"
}
task d << {
println "this is task ${name}"
}
task e << {
println "this is task ${name}"
}
a.dependsOn(b)
e.dependsOn(a,d)
task f << {
println "this is task ${name}"
}
e.dependsOn(f)
任务e
依赖于任务a
和d
,然后我将任务f
添加到e
的依赖项中。现在的问题是如何使taskf
首先执行。预期输出如下所示:
:f
this is task f
:b
this is task b
:a
this is task a
:d
this is task d
:e
this is task e
我知道在这里我可以添加b.dependsOn(f)
使任务f
首先执行。但是假设我不知道任务e
实际上依赖于什么,我只知道任务e
本身,我可以通过e
的方法让任务f
先执行吗
我已经参考了API文档,但我仍然不知道怎么做。我自己解决了
将此块添加到build.gradle的末尾
e.taskDependencies.getDependencies(e).each { task ->
if (task != f) {
task.mustRunAfter f
}
}
我自己决定
将此块添加到build.gradle的末尾
e.taskDependencies.getDependencies(e).each { task ->
if (task != f) {
task.mustRunAfter f
}
}