Gradle只能学一点点:初识Gradle

Gradle

干啥子的:gradle 是一个流行的自动化构建工具
官网在此http://gradle.org
它是个新人:是java自动化构建工具家族里面的最新成员
紧箍咒:遵循 Apache License 2.0开源协议
被大众喜欢:Android, Spring Framework, Hibernate都将自己的构建系统迁移到使用Gradle的方式,现在应该更多了:)


Gradle的一些特性

1. 声明式依赖管理

Gradle提供了一种很方便的方式去声明项目的依赖关系,会自动地帮你下载依赖(以及传递依赖)。

2. 声明式构建

Gradle 使用基于Groovy的DSL来声明构建。
那么问题来了(简单介绍下):
Groovy:我是一种基于JVM的敏捷开发语言
官网在此http://groovy-lang.org
DSL:我的全称是领域特定语言(domain-specific language)
Groovy的DSL的官网https://docs.gradle.org/current/dsl/

3. 按照约定构建

Gradle为Java, Groovy, web, Scala, Android 和 OSGi项目都提供了合理的默认设置和约定。
举个栗子(以Java为栗)
有如下默认约定:

src\main\java	这个路径下放生产代码
src\main\test	这个路径下放测试代码
src\main\resources	这个路径下放资源文件

有如下默认构建任务:

自上而下有序进行:
compile		编译代码
run			运行
test		测试
generate	生成jar包

如果遵从如上的约定,你的构建脚本可以写得炒鸡简单又简洁;当然也可以不遵从这些约定,但是写起来麻烦那么一丢丢;

4. 增量构建

简单理解
在构建工具清理和重新编译所有内容时,如果是很大的项目,通常要很长时间,特别慢,特别耗时;增量构建就是用来解决这个问题的,构建过程中有很多个任务,如果有某些任务的输入和输出都没有改变的话,会自动跳过这个任务,也就节省了相应的时间;
举个例子:假设JavaCompile任务,接受一组Java源文件作为输入,并且生成一组类文件。Gradle使用这些信息来检查源文件是否已经更改,如果没有检测到更改,就跳过这个任务(不执行它,因为反正执行了结果也是一样的)。那~~~~~对应的任务时间也省下来了。。。

5. Gradle 包装器

Gradle Wrapper(我把它翻译成Gradle 包装器)是什么:就只是一个批处理文件(Windows环境下的bat文件,或者linux/mac环境下的shell脚本);
作用:运行Gradle的包装器,包装器脚本会自动的下载和安装一个新的Gradle运行时副本在机器上,并且执行Gradle构建;
优点:如果要启动一个新的持续集成(CI)服务器,会特别容易,因为不需要额外的配置就能执行构建;另外分发代码与他人协作也会特别方便,因为拿到代码的人可以轻松构建它;
什么是持续集成http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

6. 插件

Gradle 支持使用插件;
什么是Gradle的插件:封装了可重用构建任务逻辑可分发组件
作用:扩展和定制化Gradle的功能;
例如:可以支持其他语言、创建新任务、修改现有任务功能,并通过添加新关键字来扩展构建语言。从而实现Gradle定制化。

7. 代码开源

Gradle是代码开源的

8. Gradle的替代品

Ant + Ivy

Apache Ant: http://ant.apache.org

特点:没有约定,过于灵活导致复杂、难以理解和维护build.xml文件(它的配置文件)

Apache Ivy: http://ant.apache.org/ivy/

特点:提供了自动化的依赖管理,在ivy.xml文件中声明依赖项

Ant和Ivy搭配使用,Ivy使Ant更易于维护的同时,又能进行依赖项管理

Maven

Apache Maven 是当前Java生态系统中最流行的自动化构建和依赖项管理工具;

特点:严格遵循约定大于配置,并为项目引入了标准的目录结构,还引入了声明性依赖项管理,并自动从外部存储库下载所需的依赖项。项目根目录下的pom.xml是Maven的配置文件;

小小总结

Gradle大大地简化了构建过程和自动化依赖管理,所以快来用它吧:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值