在配置阶段获取Gradle任务图

时间:2016-10-05 02:42:48

标签: gradle

有没有办法在Gradle配置阶段获取任务图甚至只是任务名称?

我们在buildSrc中有一些代码,根据将要运行的任务采取一些操作会很方便。如果我尝试在buildSrc代码中获取任务图,那么我会收到Task information is not available, as this task execution graph has not been populated.的异常。有没有办法在填充执行图之前了解要执行哪些任务?

我正在考虑解析Gradle命令行来检查那里的任务名称,但这很脆,看起来不太理想。

1 个答案:

答案 0 :(得分:1)

你应该尽可能多地依赖Gradle,而不是试图重新确定哪些任务将会运行。

从程序化的角度来看:

  • 列出项目中的所有可能任务:project.tasks
  • 获取任务图:gradle.taskGraph

例如,在配置阶段结束时,您可以调用buildSrc中的方法:

gradle.taskGraph.whenReady { taskGraph ->
    // Call your methods here using the task graph
}