Gradle 何时使用插件。withType(somePlugin)。何时使用插件
渐变构建有几个子模块。有些应用了java插件,有些没有。我试图只在应用插件时配置插件。为此,我在顶级build.gradle文件中添加了以下内容:Gradle 何时使用插件。withType(somePlugin)。何时使用插件,gradle,gradle-plugin,Gradle,Gradle Plugin,渐变构建有几个子模块。有些应用了java插件,有些没有。我试图只在应用插件时配置插件。为此,我在顶级build.gradle文件中添加了以下内容: allprojects { plugins.withType(JavaPlugin) { //some configuration on the JavaPlugin } } 然而,我也注意到了以下风格: allprojects { plugins.withType(JavaPlugin).whenPluginAdded {
allprojects {
plugins.withType(JavaPlugin) {
//some configuration on the JavaPlugin
}
}
然而,我也注意到了以下风格:
allprojects {
plugins.withType(JavaPlugin).whenPluginAdded {
//some configuration on the JavaPlugin
}
}
这两个有什么区别。什么时候使用
withType(){}
-样式配置,什么时候使用withType()。whenPluginAdded{}
-样式?当使用whenPluginAdded()
时,它调用当前集合上的whenObjectAdded()
。当您调用withType()
并传递一个闭包
时,它会对当前集合调用all()
,而当前集合又会对复制的集合调用whenObjectAdded()
因此,这两种方法的作用是相同的,但前者是插件集合的防御副本。因此,如果我想通过指定编码、java版本等来配置java插件,这实际上没有什么区别。对吗?据我从Gradle的资料中了解,这没什么区别。