在一个多模块Gradle项目中,我如何跳过在父模块中定义的插件?



我有一个多模块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.gradleplugins块中声明的插件可以通过将apply false添加到子项目的build.gradle插件配置中来禁用/跳过子项目。在本例中,它看起来像:

plugins {
id 'whatever' apply false
}

最新更新