美文网首页
Gradle:构建生命周期

Gradle:构建生命周期

作者: 码农翻身记 | 来源:发表于2020-01-21 17:47 被阅读0次

一、Gradle简介

1.1 基于Groovy的构建工具

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。Gradle
Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留的自动化构建项目。
gradle主要由以下三部分组成:

  • groovy核心语法
  • build script block
  • gradle api

1.2 核心思想

Gradle是基于依赖的编程语言,我们可以自定义任务和任务之间的关系,Gradle会在执行前构建任务的依赖关系图,一个有向无环图,能保证按顺序执行任务,且只执行一次。

1.3Gradle功能及优势

  • Gradle对多工程的构建支持很出色,工程依赖是Gradle的第一功能;
  • Gradle支持局部构建;
  • 支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirs;
  • Gradle是第一个构建集成工具,与ant、maven、ivy有良好的相容相关性;
  • 轻松迁移:Gradle适用于任何结构的工程,你可以在同一个开发平台平行构建原工程和Gradle工程。通常要求写相关测试,以保证开发的插件的相似性,这种迁移可以减少破坏性,尽可能的可靠。这也是重构的最佳实践;
  • Gradle的整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架;
  • 任务拆解粒度细,每个子工程编译、源码编译、资源编译都是一个个子任务,可以修改task任务来精细控制;
  • 扩展性强,支持插件机制;
  • 免费开源。

二、Gradle项目组成

创建一个工程,命名为GradleDemo,然后再创建2个子工程,整个工程的组成如下,总工程目录下有build.gradle和setting.gralde文件,然后每个子工程下有自己的build.gradle。

  • build.gradle:主要用于对工程进行配置。比如配置版本、依赖、使用的插件等等。
GradleDemo
    --app
        --src
        --build.gradle
    --common
        --src
        --build.gradle
    --pay
        --src
        --build.gradle
    --build.gradle
    --setting.gradle

打开setting.gradle:

include ':app', ':common', ':pay'

可以修改setting.gradle确定构建需要哪些工程。

三、Gradle构建生命周期

3.1、生命周期

用了很长时间才知道Gradle其实也有生命周期的说法的,以前都是对着网上的教程依样画葫芦配置工程,没去了解Gradle的背后流程。
Gradle的生命周期分为3个阶段:

  • 初始化阶段
    在初始化阶段,Gradle的主要任务是确定有哪些工程参与构建,会解析settings.gradle文件,为文件中参与构建的的项目都创建project对象。
  • 配置阶段
    解析各个project的build.gradle,会完成以下任务:
    1、加载插件
    2、加载依赖
    3、加载Task
    4、执行脚本,自定义的插件、Gradle支持的API等

自定义的插件在这个阶段会执行。

  • 执行阶段
    这个阶段很简单,就是执行阶段二加载的task及依赖task。

在build.gradle中定义的task任务在这个阶段执行。

3.2、生命周期的监听

在总工程目录下(或子工程)的build.gradle下添加以下代码,可以实现各个阶级的监听。

this.beforeEvaluate {
    println '配置阶段开始回调...'
}

this.afterEvaluate {
    println '配置阶段执行完毕回调...'
}
 
this.gradle.buildFinished {
    println '执行阶段执行完毕回调...'
}

//等同于 beforeEvaluate
this.gradle.beforeProject {
}

//等同于 afterEvaluate
this.gradle.afterProject {
    println '配置阶段执行完毕回调...'
}

相关文章

  • Gradle构建生命周期简介和通用Maven打包脚本

    Gradle构建生命周期简介和通用Maven打包脚本 Gradle构建生命周期 Gradle构建过程分为三个大的步...

  • gradle

    gradle构建的三个生命周期阶段:初始化阶段配置阶段执行阶段 构建plugin方式一:gradle项目默认bui...

  • gradle

    Gradle生命周期 Gradle构建系统有自己的生命周期,初始化、配置和运行三个阶段。 1.初始化阶段,会去读取...

  • Gradle生命周期

    Gradle 进行构建,都要经过3个生命周期阶段: 初始化阶段settings.gradle 配置阶段 执行阶段 ...

  • Android热修复框架设计——Gradle自动化多渠道打包

    Gradle 是什么 Gradle 是 依赖管理 + 构建工具。它继承了 Ant 的灵活和 Maven 的生命周期...

  • Gradle -构建生命周期

    一、Gradle构建生命周期的三个阶段 1.初始化根据settings.gradle,决定哪些项目要参与到构建中来...

  • 10 Gradle 实现多项目构建

    之前我们已经学习了Gradle 的基本原理知识点,已经了解了 Gradle 构建配置的组成部分以及构建的生命周期,...

  • 程序员自我修养之Gradle学习篇

    一、Gradle的生命周期 Settings.gradle : 初始化阶段--> 包含需要你构建其他的参与编译的g...

  • 组件化架构笔记(第三章)

    Gradle基础 Gradle的生命周期分为三个不同的阶段:初始化 -》 配置 -》 构建 初始化:setting...

  • Gradle 之 Task

    Gradle 生命周期 Initialization 解析整个工程中所有Project,构建所有的Project对...

网友评论

      本文标题:Gradle:构建生命周期

      本文链接:https://www.haomeiwen.com/subject/mwgpoctx.html