2017-09-25 84 views
1

我創建一個插件的gradle如下我可以使用dependsOn參數在插件中創建gradle任務嗎?

class MyPlugin implements Plugin<Project> { 
    void apply(Project project) { 
     project.extensions.create('testCoverageVerificationTask', TestCoverageVerificationPluginExtension) 
     project.tasks.create('testCoverageVerification', TestCoverageVerificationTask)   
    } 
} 

,並使用它,我需要將這些添加到我的build.gradle

apply plugin: my.package.MyPlugin 

testCoverageVerificationTask { 
    myreport = "testing report" 
} 

testCoverageVerification.dependsOn "myDependentTask" 

不過,我想它會更好將dependsOn作爲testCoverageVerificationTask中的另一個參數,以便它不需要單獨定義。這是可行的嗎?

:普通任務定義可以這樣做

task myTask(dependsOn: 'compile') { 
    doLast { 
     println 'I am not affected' 
    } 
} 

但我不能做

testCoverageVerificationTask(dependsOn: "myDependentTask") { 
    myreport = "testing report" 
} 

回答

1

用途:

Task task = project.tasks.create('testCoverageVerification', TestCoverageVerificationTask) 
task.dependsOn("compile") 
+0

這是偉大的。可以「編譯」是一個發送參數而不是?因爲我可能在不同的模塊上有不同的依賴任務。 – Elye

+0

@Elye對不起,請延遲。說實話,我不知道它是否可以作爲參數傳遞。 –

相關問題