Appearance
源码: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 "失败"}")
}