前言
以前学maven的时候没看文档,也没看视频,基本上就是玩着玩着玩会的,所以这波我好好写一下Gradle的文档,和大家一起学一下Gradle
简介
Gradle 是一个开源 构建自动化 工具,其设计足够灵活,可以构建几乎任何类型的软件
Gradle的特点
- 高性能
Gradle 通过只运行那些因为输入或输出发生变化而需要运行的任务来避免不必要的工作。 您还可以使用构建缓存来重用以前运行的任务输出,甚至可以重用来自不同机器(使用共享构建缓存)的任务输出。
Gradle 实现了许多其他优化,开发团队不断努力提高 Gradle 的性能。
- JVM基础
Gradle 在 JVM 上运行,您必须安装 Java 开发工具包 (JDK) 才能使用它。 这对于熟悉 Java 平台的用户来说是一个奖励,因为您可以在构建逻辑中使用标准 Java API,例如自定义任务类型和插件。 它还使得在不同平台上运行 Gradle 变得容易。
请注意,Gradle 不仅限于构建 JVM 项目,它甚至还包含对构建本机项目的支持。
- 约定
Gradle 借鉴了 Maven 的书,通过实现约定使常见类型的项目(例如 Java 项目)易于构建。 应用适当的插件,您就可以轻松地为许多项目提供精简的构建脚本。 但这些约定不会限制您:Gradle 允许您覆盖它们、添加您自己的任务以及对基于约定的构建进行许多其他自定义。
- 可扩展性
您可以轻松扩展 Gradle 以提供您自己的任务类型,甚至构建模型。 有关此示例,请参阅 Android 构建支持:它添加了许多新的构建概念,例如风味和构建类型。
- IDE 支持
几个主要的 IDE 允许您导入 Gradle 构建并与之交互:Android Studio、IntelliJ IDEA、Eclipse 和 NetBeans。 Gradle 还支持生成将项目加载到 Visual Studio 所需的解决方案文件。
- 洞察力
构建扫描 提供有关构建运行的大量信息,您可以使用这些信息来识别构建问题。 他们特别擅长帮助您识别构建性能的问题。 您还可以与其他人共享构建扫描,如果您需要寻求建议以解决构建问题,这将特别有用。
Gradle核心5点
1. Gradle是一个通用的构建工具
Gradle 允许您构建任何软件,因为它对您尝试构建的内容或应该如何完成几乎没有假设。 最显着的限制是依赖管理目前仅支持与 Maven 和 Ivy 兼容的存储库和文件系统
这并不意味着您必须做很多工作来创建构建。 Gradle 通过添加一层约定和通过 插件 。 您甚至可以创建和发布自定义插件来封装您自己的约定和构建功能
2.核心模型基于任务
Gradle 将其构建建模为任务(工作单元)的有向无环图 (DAG),这意味着构建本质上是配置一组任务并将它们连接在一起
所以任务是基于依赖关系以创建DAG的
创建任务图后,Gradle 会确定哪些任务需要以何种顺序运行,然后继续执行它们