gradle , maven , ant , ivy , grant之间的区别
java项目构建工具
gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
它抛弃了基于XML的各种繁琐配置。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前增加了基于Kotlin语言的kotlin-based DSL
面向java 应用为主, 支持groovy, kotlin, c++, scala 和swift语言
gradle 的整体设计是以作为一种语言为导向, 而非严格死板的框架
gradle是第一个集成构建工具, 与ant, maven, ivy 有良好的相容性
是android的官方构建工具
android 工程中的gradle
工程Project 中的 build.gradle : 工程控制Gradle编译配置
模块module中的 build.gradle : 控制每个Module的编译过程
gradle.properties : gradle动态参数的配置文件
local.properties : 本地的配置,如:SDK位置
gradle-wrapper.properties :gradle本地代理,声明了指向目录和版本
distributionUrl : 指定gradle版本不存在时,就从Value的地址中去下载。很多时候,我们只要版本换成我们本地存在的gradle版本就可以了
settings.gradle : 配置Gradle中的Module管理
ant (another neat tool)
核心代码是由java编写, 构建脚本是xml (build.xml), 作为项目管理工具
ant本身没有依赖管理,需要配合ivy来管理依赖
maven
目标是改进使用Ant时面临的一些问题, 继承了ant 的项目构建功能, 采用xml作为构建脚本格式
maven 具有依赖管理和项目管理的功能, 提供了中央仓库
pom.xml
gant
基于ant的构建工具, 在ant 的基础上用groovy写的DSL.
如果使用Ant实现构建,但是不喜欢xml来编写构建脚本的, 那么gant就是个不错的选择
这个build.gant等同于此前Ant的bulid.xml