簡體   English   中英

如何執行gradle任務

[英]How to execute gradle task

我想從我的插件代碼中執行 gradle 任務。

任何人都可以建議我,我如何從代碼中以編程方式執行 gradle 任務。

謝謝,蘇梅特。

您可以按照以下步驟進行操作

task a {
  doLast {
    println 'test'
  }
}

task b {
    doLast {
        a.execute()
    }
}

因此在插件代碼中可能類似於

project.tasks.<taskname>.execute()

但是將來可能會改變。 您應該依靠任務的鏈接,而不是直接調用它們。

Martin Linha 提供的答案不再適用於最新版本的 Gradle,例如 Gradle 7。Task 類不再有執行方法。 相反,必須執行活動。 此外,您可能還想執行依賴項:

void executeTask(Task task) {
    task.taskDependencies.getDependencies(task).each {
       subTask -> executeTask(subTask)
    }
    task.actions.each { it.execute(task) }
}

請注意,這仍然是一個 hack,不能保證工作。

暫無
暫無

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

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