Skip to content

源码:labs/ci/gradle-lifecycle-demo/settings.gradle.kts ​

  • 原始路径:labs/ci/gradle-lifecycle-demo/settings.gradle.kts
  • 类型:kotlin
kotlin
// 阶段1-Initialization:本文件在 Initialization 阶段被求值,
// 顶层 println 即「初始化期输出」——早于任何 build.gradle.kts。
println("阶段1-初始化:读取 settings.gradle.kts,rootProject=${rootProject.name}")

rootProject.name = "gradle-lifecycle-demo"

// 以下四个回调都注册在 Gradle 对象上,但触发时机横跨三个阶段:
// beforeProject / afterProject 属于 Configuration 阶段(每个 project 各一次);
// taskGraph.whenReady 在配置结束、任务开始执行前触发一次;
// buildFinished 在整个构建结束时触发一次。

gradle.beforeProject {
    println("阶段2-配置开始:beforeProject 回调 -> project「${name}」")
}

gradle.afterProject {
    val problems = if (state.failure != null) "(带失败)" else ""
    println("阶段2-配置结束:afterProject 回调 -> project「${name}」$problems,此时 build script 已全部求值、任务已注册")
}

gradle.taskGraph.whenReady {
    println("阶段2→3 分界:taskGraph.whenReady —— 任务图就绪,共 ${allTasks.size} 个任务待执行")
}

gradle.buildFinished {
    println("阶段3-执行结束:buildFinished 回调,构建结果=${if (failure == null) "成功" else "失败"}")
}

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