buildscript中的声明
buildscript中的声明是gradle脚本自身需要使用的资源。可以声明的资源包括依赖项、第三方插件、maven仓库地址等。
虽然gradle支持开箱即用,但是如果你想在脚本中使用一些第三方的插件、类库等,就需要自己手动添加对这些插件、类库的 引用。而这些插件、类库又不是直接服务于项目的,而是支持其它build脚本的运行。
所以你应当将这部分的引用放置在buildscript代码块中。
gradle在执行脚本时,会优先执行buildscript代码块中的内容,然后才会执行剩余的build脚本。
build.gradle其余的声明
build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。
两者不同之处是在buildscript代码块中你可以对dependencies使用classpath声明。该classpath声 明说明了在执行其余的build脚本时,class loader可以使用这些你提供的依赖项。这也正是我们使用buildscript代码块的目的。
而如果你的项目中需要使用该类库的话,就需要定义在buildscript代码块之外的dependencies代码块中。
build.gradle语法声明
- implementation ‘com.google.guava:guava:26.0-jre’
这个声明等同于调用implementation(‘com.google.guava:guava:26.0-jre’)
在groovy中,函数的参数可以用空格隔开,例如:
void foo(String params1, int param2) {
println("param1 = $params1, param2 = $param2")
}
foo "aaa", 2
- 闭包的声明
repositories {
jcenter()
}
这段声明是调用了repositories函数,并且将一个闭包作为参数传递给它。