## Behaviour
之前在学习的时候说到了可以给任务添加行为behaviour,看一下下面的例子:
~~~
task hello << {
println 'Hello Earth'
}
hello.doFirst {
println 'Hello Venus'
}
hello << {
println 'Hello Jupiter'
}
hello.doLast {
println 'Hello Mars'
}
~~~
输出如下:
~~~
D:\gradle_product\0123>gradle -q hello
Hello Venus
Hello Earth
Hello Jupiter
Hello Mars
~~~
doFirst和doLast这些标识就是行为,代表你所定义的hello任务的一些附加行为,不同等级的行为,跟你在build.gradle中定义的顺序是没关系的,但是同一等级的就有关系,谁先定义的,就会先执行那一部分。
## 不同等级
比如我们将doFirst和doLast的位置调换,看执行的顺序:
~~~
task hello << {
println 'Hello Earth'
}
hello << {
println 'Hello Jupiter'
}
hello.doLast {
println 'Hello Mars'
}
hello.doFirst {
println 'Hello Venus'
}
~~~
输出:
~~~
D:\gradle_product\0123>gradle -q hello
Hello Venus
Hello Earth
Hello Jupiter
Hello Mars
~~~
经过实际验证,输出是没有变化的。
## 相同等级
比如hello.doLast和hello<<所定义的行为属于相同等级,都是在hello任务执行完再执行。这个时候的执行顺序是跟你定义的顺序是有关系的,比如我们将上面的hello<<移到doLast后面
~~~
task hello << {
println 'Hello Earth'
}
hello.doLast {
println 'Hello Mars'
}
hello << {
println 'Hello Jupiter'
}
hello.doFirst {
println 'Hello Venus'
}
~~~
输出:
~~~
D:\gradle_product\0123>gradle -q hello
Hello Venus
Hello Earth
Hello Mars
Hello Jupiter
~~~
- 前言
- gradle学习(1)-helloworld
- gradle学习(2)-基础语法
- gradle学习(3)-基础认识
- gradle学习(4)-构建java项目
- gradle学习(5)-创建eclipse项目
- gradle学习(6)-依赖管理
- gradle学习(7)-groovy
- gradle学习(8)-gradle的命令行
- gradle学习(9)-获取build相关信息
- gradle学习(10)-gui
- gradle学习(11)-编写构建脚本
- gradle学习(12)-groovy一些基础语法
- gradle学习(13)-有的没的
- gradle学习(14)-任务
- gradle学习(15)-任务
- gradle学习(16)-操作文件
- gradle学习(17)-被合并的ant
- gradle学习(18)-ant的属性
- gradle学习(19)-log系统
- gradle学习(20)-详解java插件
- gradle学习(21)-在eclipse中构建java项目
- gradle复习(1)-2种定义任务方式的区别
- gradle复习(2)-eclipse中添加依赖jar包
- gradle复习(3)-在gradle项目中使用TestNG
- gradle复习(4)-Cannot find System Java Compiler
- gradle复习(5)-Test remote debug
- gradle复习(6)-深入Jacoco
- gradle复习(7)-深入Jacoco
- gradle复习(8)-Task中行为
- gradle学习(22)-Sonar
- gradle学习(23)-Sonar runner