Gradle 生命周期
- Initialization 解析整个工程中所有Project,构建所有的Project对应的project对象
- Configuration 解析所有的project对象中的task,构建好所有的task的拓扑图
- Execution 执行具体的task及其依赖的task
Task声明
// 方式一
task helloTask(group: 'demo', description: 'learn') { // 制定group和description
// Configuration 阶段执行
println 'hello task'
// Execution 阶段执行
doFirst {
println 'do first'
}
doLast {
plintln 'do last'
}
}
// 方式二
tasks.create(name: 'helloTask2') {
println 'hello task2'
}
doLast简洁写法
task helloTask << {
println 'helloTask'
}
Task 依赖
如果Z依赖X、Y,执行Z的时候会自动先执行X和Y
task taskZ(dependsOn: [taskX, taskY]){
}
Task 执行顺序
设定顺序的时候,如果执行两个task,先后顺序能有保障.
task taskA {
doLast{
println 'taskA'
}
}
task taskB {
mustRunAfter taskA
doLast{
println 'taskB'
}
}
测试代码./gradlew taskB taskA