簡體   English   中英

將任務依賴項添加到Gradle中的現有插件任務?

[英]Add Task dependency to existing Plugin Task in Gradle?

我包括第二gradle這個文件my.gradle在我build.gradle文件。

my.gradle的內容是:

apply plugin:MyPlugin

class MyPlugin implements Plugin<Project> {

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

在我的build.gradle我設置在頂部:

apply from: 'myPlugin.gradle'

現在我想在build.gradle設置一個任務依賴build.gradle

tasks.myPlugin.myTask.dependsOn += someOtherTask

當我構建時,我收到以下錯誤:

> Could not find property 'myPlugin' on task set.

如何訪問myTaskmyPluginbuild.gradle

編輯:我試圖確保someTask在myTask之后運行。 我嘗試這樣做:

taskX.finalizedBy taskY

在我的情況下:

tasks.myPlugin.myTask.finalizedBy someOtherTask

但前者不起作用。

以下腳本將完成此任務:

my.gradle

apply plugin: MyPlugin

class MyPlugin implements Plugin<Project> {

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

build.gradle

apply from: 'my.gradle'

task someOtherTask << {
   println 'doLast'
}

project.tasks.myTask.dependsOn(someOtherTask)

如果您正確包含插件,則應該看到您的任務。 例如,如果你包含java插件並運行

gradle任務 - 所有

您應該看到包含compileJava。 對你來說也一樣,運行gradle tasks --all 你應該可以將它作為tasks.myTask或tasks ['myTask']引用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM