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

Gradle -构建生命周期

作者: crossroads | 来源:发表于2018-10-09 15:13 被阅读12次

一、Gradle构建生命周期的三个阶段

1.初始化
根据settings.gradle,决定哪些项目要参与到构建中来,并创建这些项目的实例。
2.配置
执行各项目下的build.gradle脚本,配置阶段执行的代码包括build.gradle中的各种语句、task的配置块。


buildscript {
    dependencies {
        println("depencies的配置")
        ......
    }
}

println("build.gradle中,按顺序执行")

task hello{
      println("我是配置任务")
    doLast{
        println("我是执行语句,配置阶段不执行")
    }
}
./gradlew -q
depencies的配置
build.gradle中,按顺序执行
我是配置任务

记住不管你执行哪个build哪怕是gradle tasks配置代码都会执行
3.执行
按顺序执行,执行顺序是通过依赖关系决定的

二、添加回调

下面这段代码通过whenReady注册回调接口,当任务图创建的时候这个回调会自动执行,这个逻辑会在任何任务之前执行

task distribution << {
    println "my version is $version"
}

task release(dependsOn: distribution) <<{
    println 'release'
}

gradle.taskGraph.whenReady { taskGraph ->
    println taskGraph.allTasks
    if (taskGraph.hasTask(release)) {
        version = '1.0'
    } else {
        version = '1.0-debug'
    }
}
./gradlew -q distribution
[task ':distribution']
my version is 1.0-debug
./gradlew -q release     
[task ':distribution', task ':release']
my version is 1.0
release

下图帮助了解声明周期回调:


来自gradle实战

参考资料

Gradle实战

相关文章

  • 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/pdseaftx.html