繁体   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