gpt4 book ai didi

gradle - Gradle-根据插件的存在配置子项目

转载 作者:行者123 更新时间:2023-12-03 03:42:08 25 4
gpt4 key购买 nike

我正在解决一个相当简单的gradle问题,但是尽管进行了搜索,但找不到解决方案。
非常简单,在多项目构建中,我需要根据加载的插件配置一些子项目。所以
如果子项目具有插件“war”或“ear”,请执行此操作。
我尝试了以下操作但未成功:

subprojects {
if (it.plugins.hasPlugin('war') || (it.plugins.hasPlugin('ear') {
apply plugin: 'my super special plugin'
....
....
}
}

上面从不适用的插件:“我的 super 特殊插件”

有什么建议吗?
谢谢

最佳答案

Gradle在评估子项目的build.gradle之前执行subprojects关闭。因此,目前尚无来自build.gradle的插件信息。
要在评估subproject/build.gradle后执行一些代码,应使用ProjectEvaluationListener
例如:

subprojects {
afterEvaluate {
if (it.plugins.hasPlugin('war') || (it.plugins.hasPlugin('ear') {
it.plugins.apply 'my super special plugin'
....
....
}
}
}

另请注意有关 it.plugins.apply 'my super special plugin'而不是 apply plugin: 'my super special plugin'的信息

另一个选择是使用共享的 common.gradle将配置子项目。通过在适当的位置使用 subproject/build.gradle,可以将此共享的gradle文件包含在 apply from: '../common.gradle'中。

关于gradle - Gradle-根据插件的存在配置子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45939726/

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