将任务依赖项添加到Gradle中的现有插件任务?

con*_*ile 7 java groovy android gradle

my.gradle在我的build.gradle文件中包含第二个gradle 文件.

内容my.gradle是:

apply plugin:MyPlugin

class MyPlugin implements Plugin<Project> {

    @Override
    void apply(Project project) {
       project.tasks.create(name: "myTask", type: MyTaskClass) {
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我build.gradle的顶部:

apply from: 'myPlugin.gradle'
Run Code Online (Sandbox Code Playgroud)

现在我想用以下方法设置任务依赖build.gradle:

tasks.myPlugin.myTask.dependsOn += someOtherTask
Run Code Online (Sandbox Code Playgroud)

当我构建时,我收到以下错误:

> Could not find property 'myPlugin' on task set.
Run Code Online (Sandbox Code Playgroud)

如何访问myTask来自myPluginbuild.gradle

编辑:我试图确保someTask在myTask之后运行.我尝试这样做:

taskX.finalizedBy taskY
Run Code Online (Sandbox Code Playgroud)

在我的情况下:

tasks.myPlugin.myTask.finalizedBy someOtherTask
Run Code Online (Sandbox Code Playgroud)

但前者不起作用.

Opa*_*pal 4

以下脚本将完成这项工作:

我的.gradle

apply plugin: MyPlugin

class MyPlugin implements Plugin<Project> {

    @Override
    void apply(Project project) {
       project.tasks.create(name: "myTask", type: Copy) {
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

构建.gradle

apply from: 'my.gradle'

task someOtherTask << {
   println 'doLast'
}

project.tasks.myTask.dependsOn(someOtherTask)
Run Code Online (Sandbox Code Playgroud)