📅  最后修改于: 2020-10-16 02:39:13             🧑  作者: Mango
“ Gradle是一个开源构建自动化系统”
蚂蚁和Maven在JAVA市场上分享了相当大的成功。 Ant是2000年发布的第一个构建工具,它是基于过程编程思想开发的。后来,借助Apache-IVY的帮助,它可以通过网络接受插件和依赖性管理,从而对其进行了改进。主要缺点是XML是一种用于编写构建脚本的格式,而层次结构则不利于过程编程,并且XML往往变得难以管理。
Maven于2004年推出。与ANT相比,它进行了许多改进。它改变了结构,并继续使用XML来编写构建规范。 Maven依赖于约定,并且能够通过网络下载依赖项。 Maven的主要好处是其生命周期。同时持续遵循多个项目的相同生命周期。这带来了灵活性的代价。 Maven在依赖管理中也面临一些问题。它不能很好地处理同一个库的版本之间的冲突,并且在Maven中编写复杂的自定义构建脚本实际上比在ANT中编写困难。
终于,Gradle在2012年问世了。Gradle拥有这两个工具的一些有效功能。
以下是Gradle提供的功能列表。
声明式构建和按惯例构建-Gradle可与基于Groovy语言的单独的领域特定语言(DSL)一起使用。 Gradle提供了声明性语言元素。这些元素还为Java,Groovy,OSGI,Web和Scala提供了按约定构建的支持。
基于依赖项编程的语言-声明性语言位于通用任务图的顶部,您可以在构建中充分利用它。
结构化构建-Gradle最后允许您将通用设计原则应用于构建。它将为您提供完美的构建结构,因此您可以设计结构合理,易于维护,易于理解的构建。
深度API-使用此API,您可以监视和自定义其配置以及其核心的执行行为。
Gradle秤-从简单的单个项目构建到大型企业的多项目构建,Gradle均可轻松提高其生产率。
多项目构建-Gradle支持多项目构建,并且支持部分构建。如果您构建一个子项目,那么Gradle将负责构建它依赖的所有子项目。
不同的方式来管理您的构建-Gradle支持不同的策略来管理您的依赖项。
Gradle是第一个构建集成工具-Gradle完全支持您的ANT任务,Maven和lvy存储库基础结构,用于发布和检索依赖项。 Gradle还提供了一个将Maven pom.xml转换为Gradle脚本的转换器。
易于迁移-Gradle可以轻松适应您拥有的任何结构。因此,您始终可以在可以构建实时脚本的同一分支中开发Gradle构建。
Gradle Wrapper -Gradle Wrapper允许您在未安装Gradle的机器上执行Gradle构建。这对于服务器的持续集成很有用。
免费开源-Gradle是一个开源项目,并根据Apache软件许可(ASL)许可。
Groovy -Gradle的构建脚本是用Groovy编写的。 Gradle的整个设计都旨在用作一种语言,而不是一种严格的框架。 Groovy允许您使用一些抽象来编写自己的脚本。整个Gradle API完全采用Groovy语言设计。
完整的Gradle API是使用Groovy语言设计的。这是内部DSL优于XML的优势。 Gradle是通用构建工具的核心。它的主要重点是Java项目。在这样的项目中,团队成员将非常熟悉Java,并且最好使构建对于所有团队成员都尽可能透明。
诸如Python,Groovy或Ruby之类的语言更适合构建框架。选择Groovy的原因是,因为它为使用Java的人们提供了迄今为止最大的透明度。 Groovy的基本语法与Java相同。 Groovy在此之上提供了更多功能。