简介:
在Java的世界里主要有三大构建工具:Ant、Maven和Gradle。如今Ant和Maven都不再火爆,目前如日中天的则是Gradle。
Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面、更重要的是你要把你的软件发布到不同的生产环境中来产生商业价值,所以你要运行测试、构建分布、分析代码质量、甚至为不同的目标环境提供不同的版本,然后步数。整个过程进行自动化操作是很有必要的。
整个过程可以分成一下几个步骤:
编译源代码
运行单元测试和集成测试
执行静态代码分析、生成分析报告
创建发布版本
部署到目标环境
步数传递过程
执行冒烟测试和自动功能测试
虽然两者都是项目工具,但是Maven现在已经是行业标砖,Gradle是后起之秀,很多人对他的了解都是从Android Studio中得到的,Gradle抛弃了Maven的基于XML的繁琐配置,众所周知的XML的阅读体验比较差,对于机器来说虽然容易识别,但是毕竟是由人去伟华的。取而代之的是Gradle采用了领域特定语言Groovy的配置,大大简化了构建代码的行数,比如在Maven中你要引入一个依赖和再Gradle中引入完全是两个效果,后者效果惊人。例如可以从27行的Maven代码中简化到短短7行。
Gradle最大的优点有两点:第一是简介,基于Groovy的紧凑脚本非常让人喜欢,在表述意图方面也没有什么不清晰的地方。第二是灵活,各种在Maven中难以下手的事情,在Gradle中就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,在Maven中你必须编写一个插件,对一个刚入门的用户来说,这个没有一个一两天几乎是不可能完成的任务。