Gradle系列9-自定义任务介绍

定义任务的基本语法

有两种定义方式,上一节中我们已经用到过:


task tName1 {
    println '直接带闭包的定义方式'
}

task tName2() {
    println '带括号的定义方式'
}

再次温习下上节实验所得出的结论,以上代码只有在构建Project(gradle build)时会执行,其他方式不执行
如果需要在任务调用时执行代码,需要将代码定义在doFirst 或者 doLast中

任务的依赖配置

三种配置方式如下:


task t1 {
    doFirst {
        println 't1'
    }
}
//定义任务时参数依赖
task t2(dependsOn: 't1') {
    doLast {
        println 't2'
    }
}
//任务内部依赖
task t3 {
    dependsOn t1
    doLast {
        println 't3'
    }
}
//任务外部依赖
task t4 {
    doLast {
        println 't4'
    }
}
t4.dependsOn t1

动态任务(了解即可)


4.times { val ->
    task "tk${val}" {
        doLast {
            println "The task is task${val}"
        }
    }
}

刷新查看会生成4个task
在这里插入图片描述

给任务自定义属性

task t1 {
    ext.myProperty = "Test property value"
    doLast {
        println "t1 ${myProperty}"
    }
}

执行任务查看输出结果:

task t1 {
    ext.myProperty = "Test property value"
    doLast {
        println "t1 ${myProperty}"
    }
}
发布了159 篇原创文章 · 获赞 22 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/ytuglt/article/details/105013665
今日推荐