【问题标题】:Getting Gradle task graph at the configuration phase在配置阶段获取 Gradle 任务图
【发布时间】:2016-10-05 02:42:47
【问题描述】:

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

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

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

【问题讨论】:

  • 要获取任务执行顺序的输出吗?
  • 我想知道哪些任务将运行 - 无论顺序如何。
  • 那你可以gradle --dry-run <task_name>。它将显示哪些任务将运行。
  • 我们需要实际运行这些任务。我们只需要某些常见的buildSrc 实用程序类在执行某些任务时表现不同。

标签: gradle


【解决方案1】:

在确定哪些任务将运行时,您应该尽可能地依赖 Gradle,而不是尝试重新发明轮子。

从程序化的角度来看:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多