gpt4 book ai didi

gradle - 我怎么知道任务从哪里来的?

转载 作者:行者123 更新时间:2023-12-02 04:53:09 25 4
gpt4 key购买 nike

我有一个继承的复杂的gradle构建系统。它工作得很好,但是包含多个插件(java,groovy,antlr,jacoco,jetty等)。我不知道如何完成某件事,所以我做了一个'./gradlew任务--all'。事实证明,有一个“生成”任务可以执行此任务(它重新生成了基于antlr的代码)。很好,但是花了很长时间,我不知道。

生成任务从何而来?我可以使用什么gradle命令来确定任务的来源?有一个具有'dependsOn'generate'的自定义antlr任务,因此我认为它来自antlr插件,但这很难说。

最佳答案

当前,不可能找到给定插件的所有任务,也不能为给定任务指定插件。请查看docs-任务和插件之间没有链接。

您可以尝试以下代码(可能容易出错):

import java.lang.reflect.Modifier

project.plugins.each { p ->
println "Plugin: ${p.getClass().name} "
p.getClass().declaredFields.findAll {
Modifier.isStatic(it.getModifiers()) &&
it.name.endsWith('_TASK_NAME') &&
it.type.simpleName.equals('String')
}.each {
println " -> ${it.get(p)}"
}
println '\n'
}

关于gradle - 我怎么知道任务从哪里来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25914912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com