GRADLE DSL
GRADLE DSL官方文档
语法
task myTask{
doFirst ({
println("myTask doFirst")
})
doLast {
println("myTak doLast")
}
dependsOn("myTask2")
}
task myTask2{
println "myTask2"
}
task相当于gradleDSL的关键字,定义了一个myTask的闭包,在执行gradle命令的时候,gradle核心层调用TaskContainer.create(java.lang.String)
根据用户起的名字创建一个对应任务,任务来自groovy的Task类,类定义了doFirst方法,doLast方法等方法
doFirst({//dosomething})
告诉gradle核心层调用doFirst方法并传递一个闭包类的参数给doFirst,括号可以省略例如doLast所示
task的参数
指定myTask实例从哪个Task子类派生
task myTask(type: Copy){
//doSomething
}
task initConfig(type: Copy) {
from (('src/main/config'),{
include '**/*.properties'
})
from ('src/main/config') {
exclude '**/*.properties', '**/*.xml'
}
from ('src/main/languages') {
rename 'EN_US_(.*)', '$1'
}
into 'build/target/config'
}
全局对象调用
task myTask{
}
Tasks.myTask.doFirst("myTask2")
task myTask2{
}