gpt4 book ai didi

gradle - 如何根据现有插件向子项目添加插件?

转载 作者:行者123 更新时间:2023-12-02 12:32:43 29 4
gpt4 key购买 nike

一些子项目有自己的build.gradle文件应用的java插件。在根项目的build.gradle中,我想将插件findbugs应用到每个已经有java插件的子项目中。在 build.gradle 中我尝试过:

configure(subprojects.findAll {proj -> proj.getPluginManager().hasPlugin("java")}) {
apply(plugin: "findbugs")
}

subprojects {
if (getPluginManager().hasPlugin("java")) {
apply(plugin: "findbugs")
}
}

外部循环确实为每个子项目运行一次,但内部闭包在这两种情况下都不会运行。我怀疑这是因为子项目构建脚本在外部脚本之前生效。除了手动将 findbugs 插件应用到每个子项目之外,还有什么办法可以解决这个问题吗?

最佳答案

您需要使用PluginContainer.withId()去做这个。如果给定的插件已经被应用,或者在将来当/如果应用插件时,这将立即评估给定的闭包。

subprojects {
plugins.withId('java') {
apply plugin: 'findbugs'
}
}

关于gradle - 如何根据现有插件向子项目添加插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35352859/

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