美文网首页
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 -构建生命周期

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