Gradle开发之——大纲
前言
概念
- Gradle是基于Apache Ant和Apache Maven概念的项目自动化构建开源工具
- 基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置
- 面向Java应用为主
支持的语言
- Java
- Groovy
- Kotlin
- Scala
依赖管理
- maven仓库
- Ivy仓库
- nexus私服
- 本地文件系统的jars
- 本地文件系统的dirs
特点
- 功能强大的基于JVM的构建工具
- 使用程序替代原来的xml配置,项目构建更加灵活
- 丰富的第三方插件库
- 完善Java、Android开发技术体系
- 提升自动化构建技术深度
- 支持传递性依赖管理
- build脚本使用Groovy编写
基础
基础知识
DSL
概念
- 领域专用语言(Domain Specified Language)
- 解决系统构建困难
常见DSL
- UML
- HTML
- 硬件设计师 VHDL
特点
- 用于专门领域,不能用于其他领域
- 表现力有限
- 不描述解答域,仅描述问题域
DSL 与通用编程语言的区别
- DSL 供非程序员使用,供领域专家使用
- DSL 有更高级的抽象,不涉及类似数据结构的细节
- DSL 表现力有限,其只能描述该领域的模型,而通用编程语言能够描述任意的模型
Groovy
概念
是一种基于JVM(Java虚拟机)的敏捷开发语言
特点
- 结合了Python、Ruby和Smalltalk的许多强大的特性
- Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码
- 具有闭包和动态语言中的其他特性
- 用于面向对象编程又可以用于面向过程编程
优势
- 是一种更加敏捷的开发语言
- 入门容易,功能强大
- 既可以作为编程语言又可以作为脚本语言
语法
变量
类型
####### 基本类型
- byte
- char
- short
- int
- long
- float
- double
####### 对象类型
######## 字符串
- String
- GString
定义
- 强类型定义
- 弱类型def定义
句法
逻辑控制语句
顺序逻辑
单步往下执行
条件逻辑
- if/else
- switch/case
循环逻辑
- while循环
- for循环
词法
- 闭包
- 面向对象
提升
文件操作
Gson文件
- 数据转Gson
- 格式化Gson
- Gson转实体
Xml文件
- Xml解析
- 遍历
- Xml生成
Groovy文件
- 操作
- 对象读写
- 实例
生命周期
- 初始化阶段(Initalization)
- 配置阶段(Configuration)
- 执行阶段(Execution)
Project
- Project介绍
- Project核心API
- Project实战
Task
- Task定义及配置
- Task执行
- Task依赖和执行
- Task类型
- Task实战
- Task输入与输出
插件及类库
- Setting类
- SourceSet类
- Plugin类及自定义Plugin
- Gradle扩展
- 项目迁移及修改
实战
Jenkins集成