根据gradle文档,gradle按照以下顺序执行任务:
配置-> doFirst ->操作-> doLast。
这是我的build.gradle:
task hello << {
println "${hello.message}"
}
hello << {
println "${hello.message} 2"
}
configure(hello, {
ext.message = 'hello'
description = "Hello task declared in project '${project.name}'"
doFirst {
println 'hello do first'
}
doLast {
println 'hello do last'
}
})
hello << {
println "${hello.message} 3"
}
hello << {
println "${hello.message} 4"
}
这个任务的输出是:
:hello
hello do first
hello
hello 2
hello do last
hello 3
hello 4
BUILD SUCCESSFUL
Total time: 0.83 secs
doLast在最后两个动作之前执行,请帮忙澄清。
左移操作符(<<
)的含义与doLast
相同。另外,我想澄清的是,doFirst
和doLast
是动作。doFirst
动作在doLast
动作之前执行