在做 Android Gradle Plugin 开发的时候,经常需要在一个流程中(比如 assembleRelease)找到一个 task,然后把我们的自定义 task 通过 dependsOn 或者 finalizeBy 插入到原有的流程中。
在自定义的 DemoPlugin 的 apply 方法中,可以获取到 project 对象,进而可以输出所有的 tasks,方便我们进行 tasks 的编排。
project.afterEvaluate {
project.gradle.taskGraph.whenReady {
println("=======> print allTasks")
println(project.gradle.taskGraph.allTasks)
}
}
PS:代码为 kts 版本(Groovy 实在用着不顺手)