Gradle:如何将任务依赖注入插件定义的任务?

时间:2014-06-07 19:55:17

标签: dependency-injection gradle dependencies task

如果插件定义了一系列任务,是否可以在这些任务中注入依赖项,以便在执行插件定义的任务之前调用依赖项?

native-artifacts插件定义buildNar(和buildNarxxx,其中xxx是平台配置)任务。它还定义了extractNarDepsxxx(其中xxx是要构建的Nar的平台配置)。在构建器之前未调用extractNarDeps,因此构建失败,因为在尝试构建之前未下载所需的依赖项。

如何将extractNarDepsxxx作为依赖项注入buildNarxxx?

1 个答案:

答案 0 :(得分:3)

确定。请考虑以下示例:

apply plugin: 'java'

task someTask
task anotherTask

tasks.classes.mustRunAfter(anotherTask)
tasks.build.dependsOn(someTask)

有一个应用了java个插件和两个自定义任务someTaskanotherTask

任务build(取自java插件)dependsOn someTask。这意味着当您运行gradle build时,将执行此任务。

任务classes mustRunAfter anotherTask。因此,当您键入gradle build anotherTask时,anotherTask将在build之前运行。

试试吧。在需要时提出进一步的问题。