【问题标题】:Where does plugins instruction go in gradle files?插件指令在 gradle 文件中的位置?
【发布时间】:2016-07-10 13:18:09
【问题描述】:
我正在使用 Android Studio 和 gradle 开发一个 Android 项目。我从 Gradle 2.1+ 中看到,您可以使用新的插件指令包含插件,如下所示:
plugins {
id "me.tatarka.retrolambda" version "3.2.5"
}
这条指令去哪儿了?我必须将它放在哪个 gradle 文件中,并嵌套在某个地方或只是在末尾附加?
【问题讨论】:
标签:
android
android-studio
gradle
android-gradle-plugin
gradle-plugin
【解决方案1】:
对于 Android 项目,如果特定模块使用插件,则必须将其放入每个模块 build.gradle 文件中。
【解决方案2】:
这就是gradle documentation 所拥有的:
新的 plugins {} 块不支持任意 Groovy 代码。它是受约束的,以便幂等(每次产生相同的结果)和无副作用(Gradle 可以随时安全地执行)。
形式为:
插件{
id «插件 id» 版本 «插件版本»
}
其中 «plugin version» 和 «plugin id» 必须是常量、文字、字符串。不允许有其他陈述;它们的存在会导致编译错误。
plugins {} 块也必须是构建脚本中的顶级语句。它不能嵌套在另一个构造中(例如 if 语句或 for 循环)。
plugins {} 块目前只能在项目的构建脚本中使用。它不能用于脚本插件、settings.gradle 文件或初始化脚本。