Appearance
源码:labs/ci/gradle-lifecycle-demo/build.gradle.kts
- 原始路径:
labs/ci/gradle-lifecycle-demo/build.gradle.kts - 类型:
kotlin
kotlin
// 阶段2-Configuration:本文件的顶层代码在 Configuration 阶段被求值。
// 无论你运行哪个 task(甚至 `gradle help`),顶层 println 都会执行——
// 这正是「改一行 build.gradle.kts 全工程重新配置」的直观来源。
println("阶段2-配置:build.gradle.kts 顶层代码求值(任何 task 都会触发我)")
// tasks.register 是惰性注册:只定义任务,不触发配置闭包外的执行逻辑;
// doLast 里的代码属于阶段3-Execution,只有任务真正入选执行时才会运行。
tasks.register("hello") {
group = "demo"
description = "打印一行执行期输出"
doLast {
println("阶段3-执行:hello 的 doLast 正在运行(只有被选中的任务才会到这里)")
}
}
tasks.register("goodbye") {
group = "demo"
description = "另一个已注册但本次不执行的任务"
doLast {
println("阶段3-执行:goodbye 的 doLast 运行")
}
}
// 演示「注册 ≠ 执行」:跑 `gradle hello` 时 goodbye 已在阶段2完成注册,
// 但它的 doLast 永远不会运行——对比观察重点见 README。
println("阶段2-配置结束:hello / goodbye 均已注册进任务容器(注册发生在配置期,执行发生在执行期)")