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

Dependency injection Gradle:如何将任务依赖注入插件定义的任务?,dependency-injection,gradle,dependencies,task,Dependency Injection,Gradle,Dependencies,Task,如果一个插件定义了一系列任务,是否可以将依赖项注入这些任务中,以便在执行插件定义的任务之前调用依赖项 本机工件插件定义buildNar(和buildNarxxx,其中xxx是平台配置)任务。它还定义了extractNarDepsxxx(其中xxx是要构建的Nar的平台配置)。extractNarDeps未在构建器之前调用,因此构建失败,因为在尝试构建之前未下载所需的依赖项 如何将extractNarDepsxxx作为依赖项注入buildNarxxx?确定。考虑下面的例子: apply plugi

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

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


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

确定。考虑下面的例子:

apply plugin: 'java'

task someTask
task anotherTask

tasks.classes.mustRunAfter(anotherTask)
tasks.build.dependsOn(someTask)
应用了一个插件
java
和两个自定义任务
someTask
anotherTask

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

任务
必须在另一个任务
之后运行。因此,当您键入
gradle build anotherTask
时,
anotherTask
将在
build
之前运行


试试看。a需要时可以进一步提问。

好的。考虑下面的例子:

apply plugin: 'java'

task someTask
task anotherTask

tasks.classes.mustRunAfter(anotherTask)
tasks.build.dependsOn(someTask)
应用了一个插件
java
和两个自定义任务
someTask
anotherTask

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

任务
必须在另一个任务
之后运行。因此,当您键入
gradle build anotherTask
时,
anotherTask
将在
build
之前运行


试试看。a需要时可以进一步提问。

好的。考虑下面的例子:

apply plugin: 'java'

task someTask
task anotherTask

tasks.classes.mustRunAfter(anotherTask)
tasks.build.dependsOn(someTask)
应用了一个插件
java
和两个自定义任务
someTask
anotherTask

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

任务
必须在另一个任务
之后运行。因此,当您键入
gradle build anotherTask
时,
anotherTask
将在
build
之前运行


试试看。a需要时可以进一步提问。

好的。考虑下面的例子:

apply plugin: 'java'

task someTask
task anotherTask

tasks.classes.mustRunAfter(anotherTask)
tasks.build.dependsOn(someTask)
应用了一个插件
java
和两个自定义任务
someTask
anotherTask

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

任务
必须在另一个任务
之后运行。因此,当您键入
gradle build anotherTask
时,
anotherTask
将在
build
之前运行


试试看。a需要时可以进一步提问。

据我所知,这与DI无关。您可以使用
dependsOn
mustRunAfter
解决这个问题。对于非我的插件中定义的任务,我不知道如何执行此操作,也就是说,我无法编辑插件的源代码。这可能吗?你有一行代码的例子吗?据我所知,它与DI无关。您可以使用
dependsOn
mustRunAfter
解决这个问题。对于非我的插件中定义的任务,我不知道如何执行此操作,也就是说,我无法编辑插件的源代码。这可能吗?你有一行代码的例子吗?据我所知,它与DI无关。您可以使用
dependsOn
mustRunAfter
解决这个问题。对于非我的插件中定义的任务,我不知道如何执行此操作,也就是说,我无法编辑插件的源代码。这可能吗?你有一行代码的例子吗?据我所知,它与DI无关。您可以使用
dependsOn
mustRunAfter
解决这个问题。对于非我的插件中定义的任务,我不知道如何执行此操作,也就是说,我无法编辑插件的源代码。这可能吗?你有一行代码吗?非常感谢,这正是我想要的。非常感谢,这正是我想要的。非常感谢,这正是我想要的。非常感谢,这正是我想要的。非常感谢,这正是我想要的。