我有一个多模块Gradle项目,其中有n个用Java编写的子项目,以及一个非Java的web子项目,如下:
parent
- service1
.
.
- serviceN
- web
在我的父build.gradle
中,我定义插件如下:
plugins {
id: 'whatever'
}
在我所有的子项目中,除了一个,我想使用whatever
插件。但是在我的web
子项目中,我想排除whatever
插件,因为该子项目不是用Java编写的。如何跳过子项目中的插件?
在Maven中,我可以通过在模块的pom的<plugins>
部分中重新定义插件并将<skip>
标记设置为true来做到这一点。
如何在最新版本的Gradle(在撰写本文时,7.4.2)中做类似的事情?注意,我想配置插件是否在子项目中跳过
在Gradle子项目中,在父项目build.gradle
的plugins
块中声明的插件可以通过将apply false
添加到子项目的build.gradle
插件配置中来禁用/跳过子项目。在本例中,它看起来像:
plugins {
id 'whatever' apply false
}