实习Day(一)
Gradle (一)
Gradle是一个完全自动化的构建自动化系统,它使用您在Apache Maven和Apache
Ant上看到的概念。它使用基于编程语言Groovy的领域特定语言,这与Apache
Maven有所区别,后者使用XML进行项目配置。它还使用有向无环图来确定任务的运行顺序。
几位开发人员创建了Gradle,并于2007年首次发布,并于2013年被Google用作Android项目的构建系统。它旨在支持预计将非常庞大的多项目构建。它也允许以增量方式添加到构建中,因为它知道项目的哪些部分已更新。依赖于更新零件的任务将不再执行。目前,最新的稳定版本是2017年2月发布的3.4版。它支持使用Java,Scala和Groovy进行开发和后续部署,并在将来引入其他项目工作流和语言。
Maven
Maven用于使用Java进行项目构建自动化。它可以帮助您确定特定软件的构建方式以及其不同的依存关系。它使用XML文件来描述您正在构建的项目,与第三方模块和部件有关的软件依赖性,构建顺序以及所需的插件。有诸如打包和编译之类的任务的预定义目标。
Maven将从不同的存储库下载库和插件,然后将它们全部放入本地计算机的缓存中。虽然主要用于Java项目,但是您可以将其用于Scala,Ruby和C#,以及许多其他语言。
Gradle vs.Maven
两种系统方法的构建方式存在一些根本差异。Gradle基于任务依赖关系图-其中任务就是工作,而Maven基于固定和线性的阶段模型。使用Maven,目标将附加到项目阶段,目标的作用类似于Gradle的任务,即“完成工作的事物”。
在性能方面,两者都允许多模块构建并行运行。但是,Gradle允许增量构建,因为它检查是否更新了哪些任务。如果是这样,则不执行任务,从而使您的构建时间大大缩短。您可以在Gradle上找到的其他出色的性能功能包括:
Java类的增量编译
Java的编译避免
对增量子任务使用AP
编译器守护程序还可以使编译速度更快
Gradle 教程
原文链接:https://www.journaldev.com/8179/gradle-tutorial