[英]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.
如何訪問myTask
從myPlugin
中build.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.