我正在将插件应用到 Gradle 构建脚本。但碰巧有很多方法可以做到这一点。
我找到了以下两种将插件应用到Gradle项目的方法:
用于声明在脚本(即脚本块)中使用的插件的 DSL plugins {},我认为它配置了一个PluginDependenciesSpec对象。(读这个)
plugins {}部分中没有显示脚本块?Project调用pluginManager.apply()(将插件应用于实例PluginManager)或调用plugins.apply()(将插件应用于实例PluginContainer)(阅读本文)
因此,为了应用org.gradle.java插件,我可以在文件中执行以下操作build.gradle:
>> pluginManager.apply 'org.gradle.java'
>> plugins.apply 'org.gradle.java'
>> plugins {
id 'org.gradle.java'
}
Run Code Online (Sandbox Code Playgroud)
两者之间有什么区别?
PS:我在的文档PluginDependenciesSpec中找到了这个,但是为什么有这么多不同的方法呢?
plugins {} 块的用途与 PluginAware.apply(java.util.Map) 方法类似,可用于将插件直接应用于 Project 对象或类似对象。一个关键的区别是,通过 plugins {} 块应用的插件在概念上应用于脚本,并扩展为脚本目标。目前,就最终结果而言,两种方法之间没有明显的实际差异。