您的位置:首页 > 其它

Gradle--第二章。概述 2.1

2015-09-02 10:44 246 查看
下面是一些Gradle的特征:

1、声明式构建和构建公约

gradle的核心是来自基于Groovy的可丰富扩展的DSL语言,Gradle通过提供定义声明式构建单元(你可以根据自己喜欢组合他们)把定义脚本推迟下一个层次,这些单元也为Java,Groovy,oSGI,Web以及Scala工程提供构建公约,甚至,这个定义语言是可扩展的,添加你自己的新的语言单元或者增强现有的来提供更简洁的,可维护的,易于理解的构建代码

2、基于编程的语言依赖

这些说明性语言位于通用任务图的顶部,你可以使他们在你的构建中发挥重要作用,他们提供最大的灵活度来让Gradle适配你特定的需求。

3、结构化构建

Gradle的灵活性和丰富性最终允许你对你构建运用一般的设计准则。例如,重用以前的构建逻辑单元来组建你的构建程序是非常容易的,内部不必要的联系关系是不适当的。不要强制把本来属于一起的部分分开(例如你的工程层次)。不要漫无目的的变来边去或者扩散这些变化,这将会让你的构建陷入维护的噩梦

4、深度API

通过把在整个构建执行的生命过程中使用内嵌的许多钩子当作一种乐趣,Gradle允许你在核心监控和定制化它的配置与执行行为

5、多工程构建

Gradle的多工程构建是非常出色的。工程依赖是它的一等公民,我们允许你在一个多工程构建环境中设置他们的依赖模型,就好像这些真心属于你的问题领域一样。Gradle跟随你的布置,但反过来你不用跟随它。

Gradle提供部分编译功能,如果你只是想构建一个单一的子工程任务,注意要构建他这个子工程所依赖的所有子工程,你也可以选择重新构建依赖某个特定子工程的某个工程。通过这种增量式的构建对于大项目的构建可以节省很多时间

6、多种方式管理你的依赖

不同的团队喜欢不同的方式去管理他们的外部依赖,Gradle对于任何方式都提供了方便的支持,从基于Maven或者lvy的远程仓库网络式依赖管理到基于本地文件系统的jar包或者文件夹

7、Gradle是第一款构建整合工具

Ant任务是一等公民,更有意思的是,Ant工程也是一等公民。Gradle对任何Ant工程都提供了深度的导入,在运行的时候把Ant目标转换为本地的Gradle任务。你可以通过Gradle去依赖Ant目标,你也可以通过Gradle来增强这些Ant目标,你甚至可以在你的build.xml中定义Gradle任务的依赖。这些整合同样使用与属性,路径等

Gradle完全支持你以前的Maven或者lvy仓库用于发布或者收回依赖关系。Gradle也提供了方法来将Maven工程pom.xml转换为Gradle脚本。运行时对Maven工程的引入将会马上到来

8、迁移方便

Gradle可以适应任何你拥有的结构,因此你可以经常在你产品分支上构建你开发分支工程,演变为同步进行,我们通常建议写一些测试用例来确保两个结果是一样的。这种方式的迁移破坏性更少而且很可靠。这个是根据最佳实践中通过婴儿的脚本 重构

9、Groovy

Gradle的构建脚本是通过Groovy编写的,不是XML.但是不像其他的方式,他不是简单的暴露动态语言的原始脚本的强大脚本能力,这个将会导致构建的维护非常困难。Gradle整个设计的导向是让它作为一门语言来使用,而不是一个死板的框架。而Groovy就像我们的黏合剂一样,他允许你通过你提供的Gradle抽象来告诉他你的个性化的要求。Gradle提供一些标准化的但是他们不能以任何形式使用。这对我们来说是Gradle相对于其他构建系统的一个主要区别。我们的Groovy支持不仅仅是一个糖衣似得。整个Gradle
API完全是 Groovy-ized的。添加Groovy最终是一个令人愉快的高效的体验

10、Gradle容器

Gradle容器允许你在没有安装Gradle的机器上执行Gradle脚本。这个是非常有用的,例如,对于集群服务器。对于一些开源的工程,利用这个特性可以大大降低他们的编译门槛。这个Gradle容器对于企业来书也是非常有趣的。对与客户端机器来访问不需要任何权限。它也可以强制你使用某个Gradle的版本来最大限度减少支持方面的问题。

11、免费和开源

Gradle是一个开源项目,基于ASL开源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: