Skip to content

源码: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 均已注册进任务容器(注册发生在配置期,执行发生在执行期)")

站点构建时间:2026/8/24 23:43:17