![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
gradle
文章平均质量分 90
特猫肉
努力
展开
-
Gradle 生态系统分析
Gradle 进阶 第七篇锲而不舍,金石可镂Gradle Project 上卷Gradle Project 对应一个模块,对于一个多模块构建的项目,它会有 RootProject,和所有 SubProject。这些都是在 setting.gradle 中配置的:include ':lib'include ':app'rootProject.name = "GradleDebug"Project 的实现类是 DefaultProject。创建它的类是 ProjectFactory。在解析完 s原创 2021-01-04 10:21:33 · 204 阅读 · 0 评论 -
Gradle 生态系统分析
Gradle 进阶 第六篇有志者,事竟成Gradle Project在之前的一系列文章中,我们从一些方面了解了 Gradle,这一片用一个栗子把她们串联起来。从这篇之后,我们会系统的把 Gradle 的重要组件作以讲解。 Project,我在前文有大量讲解关于".gradle"文件,Project 就是和"build.gradle"一一对应。多模块项目往往一个模块就对应一个 Project,之前的文章讲解了 ".gradle"文件的编译和解析。plugins { id 'com.androi原创 2021-01-04 10:20:34 · 130 阅读 · 0 评论 -
Gradle 生态系统分析
Gradle 进阶 第五篇虽千万人,吾往矣Plugin 应用接着上一节所讲的微内核架构,系统的 Plugin 管理简单的实现方式就是通过在系统内部实现一个注册表,用来获取 Plugin,并且得到 Plugin 的可用性。下面来从源码展开了解一下 Gradle plugin 的管理。在源码的110多个模块中,plugin 管理先关的有三个,分别是 gradle.plugin-development、gradle.plugins、以及 gradle.plugin-user。其中 gradle.plug原创 2021-01-04 10:19:35 · 160 阅读 · 0 评论 -
Gradle 生态系统分析
Gradle 进阶 第四篇天行健,君子以自强不息微内核架构前面的几篇文章,从 Gradle 脚本的函数调用一个侧面来了解认识了一下 Gradle,主要是因为 Gradle 脚本经常会让入门的同学觉得抽象异常。这篇文章又回到一个最初点,我们从骨架结构的角度来再次了解一下它,首先我要介绍一种叫做微内核的代码架构模型。相信很多人都使用过这种架构。《Software Architecture Patterns》https://www.oreilly.com/library/view/software-arc原创 2021-01-04 10:18:29 · 130 阅读 · 0 评论 -
Gradle 生态系统分析
Gradle 起底 第一篇本文针对的群体是使用过Gradle的一些年轻人哈,看了之后,耗子尾汁。Gradle 的源代码地址 https://github.com/gradle/gradle ,可以看到Gradle的源码里(基于 Gradle 大版本的 version 6)java 占比44% Groovy 占比46%,源码里面大部分的核心代码核心模块都是java 语言编写,test 代码主要是由Groovy语言编写。目录结构往往高端的代码都以一种朴素的呈现方式,以gradle-6.3-all 为例原创 2020-12-04 10:42:59 · 148 阅读 · 0 评论 -
Gradle 生态系统分析
Gradle 进阶 第三篇破山中贼易,破心中贼难Gradle Convention and Extension接着上文所说的 DynamicSystem,这一节会进而引入 Convention and Extension 的概念,继续扩展整个系统的灵活性,在 Gradle 的 api 官网里有直接介绍 Extension 相关的 https://docs.gradle.org/current/dsl/org.gradle.api.plugins.ExtensionAware.html,但是没有讲解关原创 2021-01-04 09:57:15 · 120 阅读 · 0 评论 -
Gradle 生态系统分析
Gradle 入门 第二篇没有正确的选择, 所以我们只能努力把自己的选择变得正确。Gradle 脚本的函数的调用接着上一篇文章的尾巴,现在需要在详细一点考虑函数的调用。这里所说的函数调用是指 ‘.gradle’ 里的那些函数调用是怎么在Gradle 中映射到方法的实现。其中最基础的一个接口是 DynamicObject 接口,它位于Gradle源码里的 core-api 模块,代码如下:public interface DynamicObject extends MethodAccess, Pro原创 2020-12-08 09:45:52 · 92 阅读 · 0 评论