点赞关注,不再迷路,你的支持对我意义重大!
🔥 Hi,我是丑丑。本文 「Android 路线」| 导读 —— 从零到无穷大 已收录,这里有 Android 进阶成长路线笔记 & 博客,欢迎跟着彭丑丑一起成长。(联系方式在 GitHub)
前言
目录
1. 概述
构建工具支持自动化生成可交付产物的工具,例如 Ant、Maven 和 Gradle 都属于流行的 Java 构建工具。
1.1 项目自动化的基本需求
项目自动化表示一种可重复、可持续的软件交付方式,主要体现为三个基本需求:
-
按需构建: 可以根据用户需求来决定构建产物;
-
触发构建: 可以在发生某一事件时触发构建,例如向 VCS 提交代码时;
-
预定构建: 可以在预定时间执行构建。
1.2 什么是构建工具?
构建工具是实现自动化软件交付工具,构建工具内部主要包含以下组成部分:
-
1、构建引擎: 核心组件;
-
2、构建文件 / 脚本: 基于预定义的规则集合表达的构建逻辑;
-
3、依赖管理器: 管理本地依赖 / 外部依赖;
-
4、输入 / 输出: 任务的输入 / 输出。
「构建引擎」处理构建脚本中的「构建逻辑」,并将它们翻译为可执行的「任务」,接受任务输入并产生最终的「构建产物」,而依赖管理器负责管理项目的本地依赖 / 外部依赖。
引用自《实战 Gradle》—— [美] Benjamin Muschko 著
1.3 为什么要使用 Gradle?
在构建工具的演变历史中,曾经出现过 Ant、Ivy、Maven、Gant 等优秀的构建工具,各有优缺点。而 Gradle 结合了其他构建工具的最佳特性,逐渐成为了新一代主流的 Java 构建工具,Gradle 主要的优点如下:
- 具有表达性的 DSL
Gradle 使用了具有表达性的领域特定语言(Groovy DSL),而不是 XML,有利于编写具有可读性和表达性的构建规则。另外,由于 Groovy 是基于 JVM 的,所以还可以直接用 Java 代码来编写构建规则,这对 Java 工程师很友好。
- 约定优于配置
约定优于配置不是 Gradle 的 “专利”,而是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。在 Gradle 中,Java 项目的构建基于带有默认值的约定,而改变默认值只需要改变「约定属性」的值即可,有时甚至只需要改动一行脚本。
- 强大的依赖管理
2. Groovy 快速入门
在实现构建逻辑时,可以使用基于 Groovy 的 DSL 语言,这一节我们就来讨论必须掌握的 Groovy 基础,带你快速上手 Groovy 语言。
3. Gradle wrapper 包装器【3.4】
实则重要的Gradle Wrapper:http://liuwangshu.cn/application/gradle/4-wrapper.html
4. Gradle 常用命令
参考资料
- 《实战 Gradle》—— [美] Benjamin Muschko 著
- 《深度探索 Gradle 自动化构建技术(一、Gradle 核心配置篇)》 —— JsonChao 著
创作不易,你的「三连」是丑丑最大的动力,我们下次见!
网友评论