Gradle Buildscript
2015-12-19 17:40
447 查看
在编写Gradle脚本的时候,在build.gradle文件中经常看到这样的代码:
build.gradle
这样子很容易让人奇怪,为什么repositories要声明两次哪?buildscript代码块中的声明与下半部分声明有什么不同?
其实答案非常简单。buildscript中的声明是gradle脚本自身需要使用的资源。可以声明的资源包括依赖项、第三方插件、maven仓库地址等。而在build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。
gradle是由groovy语言编写的,支持groovy语法,可以灵活的使用已有的各种ant插件、基于jvm的类库,这也是它比maven、ant等构建脚本强大的原因。虽然gradle支持开箱即用,但是如果你想在脚本中使用一些第三方的插件、类库等,就需要自己手动添加对这些插件、类库的引用。而这些插件、类库又不是直接服务于项目的,而是支持其它build脚本的运行。所以你应当将这部分的引用放置在buildscript代码块中。gradle在执行脚本时,会优先执行buildscript代码块中的内容,然后才会执行剩余的build脚本
build.gradle
1 2 3 4 5 6 7 8 9 | buildScript { repositories { mavenCentral() } } repositories { mavenCentral() } |
其实答案非常简单。buildscript中的声明是gradle脚本自身需要使用的资源。可以声明的资源包括依赖项、第三方插件、maven仓库地址等。而在build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。
gradle是由groovy语言编写的,支持groovy语法,可以灵活的使用已有的各种ant插件、基于jvm的类库,这也是它比maven、ant等构建脚本强大的原因。虽然gradle支持开箱即用,但是如果你想在脚本中使用一些第三方的插件、类库等,就需要自己手动添加对这些插件、类库的引用。而这些插件、类库又不是直接服务于项目的,而是支持其它build脚本的运行。所以你应当将这部分的引用放置在buildscript代码块中。gradle在执行脚本时,会优先执行buildscript代码块中的内容,然后才会执行剩余的build脚本
相关文章推荐
- SourceProvider.getJniDirectories
- 执行失败的任务 ': processDebugManifest'
- Android Studio使用教程(六):Gradle多渠道打包
- 制作高质量的JQuery Plugin 插件的方法
- MySql报错Table mysql.plugin doesn’t exist的解决方法
- jQuery多媒体插件jQuery Media Plugin使用详解
- Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
- Android Studio使用教程(四):Gradle基础
- Android Studio使用教程(五):Gradle命令详解和导入第三方包
- Win7安装gradle
- eclipse 安装插件的方法
- 主目录下出现C\:\\nppdf32Log\\debuglog.txt 文件
- 关于Android Studio 和 Gradle的那些事儿
- Gradle这个黑盒子
- [软件结构]正向(或者前向)插件系统设计
- [架构设计]反向(或者后向)插件系统设计
- maven用户试用gradle
- 用Gradle 构建你的android程序
- 用Gradle 构建你的android程序-依赖管理篇