一些子项目有自己的 build.gradle 文件应用的 java 插件。在根项目的build.gradle中,我想将插件findbugs应用到每个已经有java插件的子项目中。在 build.gradle 中我尝试过:
configure(subprojects.findAll {proj -> proj.getPluginManager().hasPlugin("java")}) {
apply(plugin: "findbugs")
}
Run Code Online (Sandbox Code Playgroud)
和
subprojects {
if (getPluginManager().hasPlugin("java")) {
apply(plugin: "findbugs")
}
}
Run Code Online (Sandbox Code Playgroud)
外部循环确实为每个子项目运行一次,但在这两种情况下,内部闭包都不会运行。我怀疑这是因为子项目构建脚本在外部脚本之前生效。除了手动将 findbugs 插件应用到每个子项目之外,还有什么办法可以解决这个问题吗?