Settings 深度解析
settings.gradle.kts 是 Gradle 构建的起点。在单模块时代它很不起眼,但在现代多模块和插件化项目中,它是核心配置中心。
1. 插件管理 (pluginManagement)
你可以统一配置所有模块使用的插件版本和搜索仓库,避免在每个 build.gradle 中重复定义。
kotlin
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}2. 依赖解析管理 (dependencyResolutionManagement)
专家级技巧:集中式仓库管理
在现代项目中,强烈建议将所有模块的 repositories 配置移到 settings.gradle.kts。这被称为 Centralized Repository Declaration。
kotlin
dependencyResolutionManagement {
// 强制所有模块使用这里定义的仓库,禁止在子模块单独定义
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}3. includeBuild (复合构建)
用于将另一个完整的 Gradle 项目嵌套进当前项目,常用于独立维护插件源码。
kotlin
// 将 build-logic 目录作为一个独立的构建项目引入
includeBuild("build-logic")4. 监听构建生命周期
你可以在 Settings 中添加监听器,监控整个项目的构建耗时。
kotlin
gradle.addBuildListener(object : BuildListener {
override fun buildFinished(result: BuildResult) {
println("构建结束,状态: \${result.failure ?: "成功"}")
}
// ... 其他回调
})