当前位置: 首页 > 知识库问答 >
问题:

如何根据存在的插件将插件添加到子项目?

翁翰墨
2023-03-14

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

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

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

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

共有1个答案

汪泓
2023-03-14

您需要使用PluginContainer。withId()执行此操作。如果给定的插件已经应用,或者在将来应用插件时,这将立即评估给定的闭包。

subprojects {
    plugins.withId('java') {
        apply plugin: 'findbugs'
    }
}
 类似资料:
  • 问题内容: 您好,我想知道是否有人准备 将插件添加到Telegraf for Influxdb中 。我有运行的go代码。接下来我需要什么以及将这些文件放在哪里? 我发现我需要做这样的事情: 但这是我的整个Go插件还是Go中要添加到我的Go程序中的另一个文件? file.conf存储在哪里? 如果您有我需要的清单,如何组织清单,将文件存储在什么地方,或者举个例子可能会很有帮助。 谢谢!! 问题答案:

  • 最近我安装了WebStorm。我想用它做Vue和Laravel项目。我试图添加Laravel插件,但在插件描述中说,我需要 在“Settings>Language&Frameworks>PHP>Laravel”下激活每个项目的it 问题是我在语言和框架中没有“PHP”选项可供选择。 如何安装到我的WebStorm应用程序?

  • 我有一个多项目分级配置,我想添加一个插件到所有子项目和根项目以及。阅读这里的文档似乎很容易: 如果您有一个多项目构建,您可能希望将插件应用于构建中的一些或所有子项目,而不是根项目或主项目。plugins{}块的默认行为是立即解析并应用插件。但是,您可以使用apply false语法告诉Gradle不要将插件应用到当前项目,然后在subprojects块中使用apply plugin:~plugin

  • 这是我有生以来第一次为IDEA开发插件。已经几乎完全实现了所有功能。现在需要向文件中添加一项-

  • 我在自己的GitHub存储库中有一个Phonegap/Cordova插件,我想将此插件添加到GitHub上的Phonegap插件存储库中https://github.com/phonegap/phonegap-plugins.我怎样才能做到这一点? 编辑 Phonegap插件库说: 我们不想再用代码“搅乱”这份回购协议。作者应该在自己的repos中维护代码,只需在自述中放置一个指针。本回购协议中的

  • 我有一个使用phonegap 3.1的项目,效果很好。 我添加了cordova文件插件,如下所示: 然后 运行良好。 我在xcode中打开项目,它无法编译并出现错误: 这是毫无意义的,所以我进一步研究了这个CDVFile。h和CDV文件。m在我的xcode项目的插件目录中以红色突出显示,单击它们不会显示其代码。我的其他插件工作正常。 我试过产品- 有人知道我还能试试什么吗?