本篇文章主要介绍了" Android Gradle 自定义Task 详解",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下:
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76408024
本文出自【赵彦军的博客】一:...
//创建 hello2 task
tasks.create("hello2"){
doFirst {
println "hello2+++++"
}
}
class MyTask extends DefaultTask {
@TaskAction
void action(){
println "action1+++++"
}
}
//创建 hello3 task
task hello3 (type: MyTask){
doLast{
println "action2+++++"
}
}
运行 hello3 task: gradlew hello3
输出
action1+++++
action2+++++
八: Task 依赖
1、dependsOn
build.gradle
task task1 << {
println "我是task1----"
}
task task2 << {
println "我是task2----"
}
//task2 依赖 task1, 执行task2之前先执行task1
task2.dependsOn task1
执行 task2
gradlew task2
执行效果
我是task1----
我是task2----
2、mustRunAfter
两个 task 依赖
task task1 << {
println "我是task1----"
}
task task2 << {
println "我是task2----"
}
//task2 运行之前先运行task1
task2.mustRunAfter task1
三个 task 相互依赖
build.gradle
task task1 << {
println "我是task1----"
}
task task2 << {
println "我是task2----"
}
task task3 << {
println "我是task3----"
}
task2.mustRunAfter task1
task3.mustRunAfter task1
在出现语法矛盾的情况下,依赖关系形成闭环,编译器会报错
task1.mustRunAfter task2
task2.mustRunAfter task1

3、shouldRunAfter
形成依赖关系可有可无。
build.gradle
task task1 << {
println "我是task1----"
}
task task2 << {
println "我是task2----"
}
task1.shouldRunAfter task2
运行: gradlew task1 task2
我是task2----
我是task1----