第一种定义方式
def Task hello = task("hello")
hello.doLast {
println 'Hello world!'
}
下面进行一个简化
task("hello")
hello.doLast {
println 'Hello world!'
}
第二种定义方式
task("hello", {
doLast {
println 'Hello world!'
}
})
下面进行简化
task hello {
doLast {
println 'Hello world!'
}
}
这个就是我们通常的写法,平时我们一直都在这么来书写,现在应该明白了它的由来了吧,这个就是groovy语言的灵活而方便的用法。
为什么需要这么来定义呢,下面我们来看看源码
首先我们来看看Project类中对于Task的创建。
Task task(String name) throws InvalidUserDataException;
Task task(String name, Closure configureClosure);
所以我们可以通过下面两种方法来创建Task
// 第一种
task("hello")
// 第二种
task("hello", {
doLast {
println 'Hello world!'
}
})
下面我们来看看Task的doLast函数的定义。
Task doLast(Closure action);
所以我们可以进行下面的使用
hello.doLast {
println 'Hello world!'
}