独自登高楼 望断天涯路

学lucene 学hadoop,Google/baidu搜:“独自登高楼”,进入本博客

Gradle学习(一)——简介

转载请注明出处:http://blog.csdn.net/lastsweetop/article/details/78845373

基础

依赖管理是基于apache Ivy的,任务和构建是基于ant的,脚本是用groovy的,如果你之前已经非常了解这三样的话,那么你已经学会了30%

优点

比之前的构建系统更优的有几点:
1. 更为强大的多项目支持
2. 完美兼容maven项目和lvy项目
3. 不需要远程的pom.xml和ivy.xml就可以进行依赖管理的推导传递
4. 最重要的就是有一套堪称完美的用于构建的领域模型

特性

声明式构建和惯例式构建

Gradle的核心是基于Groovy的可扩展的DSL,Gradle通过提供的声明式语言元素使得声明式构建更加灵活,你可以按照你的喜好随意组合,这些元素可以支持Java, Groovy, OSGi, Web和Scala等项目惯例式构建。这种声明式的语言还是可以扩展的,你可以为别的编程语言增加声明式语言的元素,也可以在现有的编程语言上去扩展他的声明式语言元素,使得构建是简洁的,可维护的,易理解的。

可编程的DSL

Gradle有一套通用任务图,用这些就完全足够你构建你的项目了,除此之外还提供了极大的灵活性,可以满足你独特的需求。

结构化你的构建

Gradle的丰富性和灵活性可以让你将通用的设计原则用于你的构建。例如构建逻辑的可重用部分可以很容易的应用在你的构建之中。不要把在一起的部分强制拆解。不要把模块做的太分散或者有歧义,那样维护起来就是噩梦。还是那句话,简洁,可维护,易理解是构建三大标准。

非常底层的api

构建执行的整个周期都可以愉快的嵌入各种钩子,gradle允许你在非常核心的地方对它的配置和运行进行监听和定制。

Gradle的伸缩性

Gradle的伸缩性非常好,不管是单一的简单项目的构建还是庞大的企业级的多项目构建,Gradle都可以显著的提高生产力,对结构化的构建的确如此。借助于它先进的增量构建功能,他也可以解决庞大工程构建的性能问题。

多项目构建

Gradle对多项目的支持也是非常显著的,在Gradle中项目之间的依赖是一等公民。为项目的依赖关系建模确实是用户自己的职权范围,Gradle会遵循你的布局,反之则不成立。
Gradle也提供局部构建。如果你只构建一个单独的子项目,那么gradle只会关心这个子项目及其所依赖的所有子项目。你可以构建一个特定子项目的子项目。对于庞大的项目来说,增量构建可以节省很多时间。

依赖管理的多种方式

不同团队对管理外部依赖包都有各自的喜好。Gradle对各自策略都进行了很好的支持,不管是用远程的Maven或者Ivy仓库进行传递依赖关系还是本地系统jar文件都进行了支持。

Gradle对其他架构的支持

Ant是Gradle的一等公民,Ant项目也是一等公民。Gradle支持任何ant项目的运行时导入,可以在运行时把Ant的任务转换为Gradle原生的任务。你能从Gradle中依赖它们,也能从Gradle中增强它们,你甚至可以在build.xml依赖Gradle的任务,对properties,paths等当然也一样的支持。
Gradle也支持Maven和Ivy远程仓库的发布和检索,Gradle可以把Maven的pom.xml直接转为Gradle脚本,Gradle对Maven项目的运行时导入也是很快的事情了

易于迁移

Gradle可以适应各种结构,你可以在你的开发环境的同一分支上引入Gradle进行构建,但最好多写点测试用例以保证迁移的可靠性。循序渐进才是重构的最佳实践

Groovy

Gradle的构建脚本是Groovy写的,而不是XML。不要想着是简单的暴露动态语言的原生脚本力量,那样会让构建的维护非常困难。Gradle的设计目的就是想让用户像语言一样使用,而不是一个死板的框架。Groovy更像是粘合剂,允许你用Gradle或者你自己提供的抽象来讲你的个性化故事。Gradle提供了一些标志的故事,但是它们没什么特权,和你的故事没什么区别。这是Gradle和其他声明式系统一个最主要的区别。对groovy的支持可不仅仅是个糖衣。整个Gradle的API都是基于Groovy的。添加Groovy是个愉快并高效的体验

Gradle wrapper

Gradle wrapper允许你在没有安装Gradle的机器上执行构建,这对于持续发布来说是非常有用的,对于一些开源项目屏蔽构建的最低要求来说也是非常有用的,wrapper对于企业来说也是非常重要的,客户端机可以0管理,而且强制了Gradle的版本,可以让出错率更低。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lastsweetop/article/details/78845373
文章标签: gradle
个人分类: gradle
所属专栏: Gradle学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Gradle学习(一)——简介

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭