新插件{}块不支持任意Groovy代码.被限制的原因是为幂等(每次产生相同的结果)和无副作用(为了Gradle随时执行的安全).形式是:plugins{ id «plugin id» version «plugin version»}«plugin id»和«plugin version»必须是常量,字面量,字符串.其他语句都是不允许的;他们的存在会导致编译错误.插件{}块也必须在构建脚本的顶部声明.
Example 21.2. Applying a binary pluginbuild.gradleapply plugin: 'java'插件可以使用插件ID应用.插件的id作为给定的插件的唯一标识符.核心插件注册一个可以用作插件的id的短名称.在上述情况下,我们可以使用简称java的插件以应用JavaPlugin.社区插件,一方面会使用一个完全合格的形式的插件id(如com.github.foo.
Example 21.1. Applying a script pluginbuild.gradleapply from: 'other.gradle'脚本插件可以从本地文件系统或在远程位置的脚本中应用.文件系统的位置是相对于项目目录,而远程脚本位置的是由一个HTTP URL指定的.多个脚本插件(两种形式之一)可以被应用到给定的构建。
一个项目可以有很多 JAR 文件,你可以向项目中添加 WAR , ZIP 和 TAR 文档,使用归档任务可以创建这些文档: Zip , Tar , Jar , War 和Ear. 它门都以同样的机制工作.例 15.19 创建一个 ZIP 文档 build.gradleapply plugin: 'java'task zip(type: Zip) { from 'src/dist' into('libs') { from configurations.