/*
 * 第 4 章 · DSL 演示 — settings.gradle.kts
 * 演示 settings 的所有常见配置：插件管理、依赖仓库、Version Catalog、Composite Build
 */

rootProject.name = "ch04-dsl-demo"

// ===== 1. 插件管理 =====
pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
        // maven("https://maven.aliyun.com/repository/gradle-plugin")
    }
    // 也可以集中声明插件版本，build.gradle.kts 里只需 plugins { id("...") }
    plugins {
        // kotlin("jvm") version "1.9.20"
    }
}

// ===== 2. 依赖仓库管理 =====
dependencyResolutionManagement {
    // 强制所有依赖只从 settings 这里的 repositories 拉
    // 子模块再写 repositories {} 会构建失败
    repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS

    repositories {
        mavenCentral()
        google()
        // maven("https://maven.aliyun.com/repository/public")
    }

    // ===== 3. 引入 Version Catalog =====
    versionCatalogs {
        create("libs") {
            from(files("gradle/libs.versions.toml"))
        }
    }
}

// ===== 4. 包含子模块（如有）=====
// include("app", "lib-core", "feature-billing")

// 改子模块路径
// project(":feature-billing").projectDir = file("features/billing")

// ===== 5. Composite Build =====
// includeBuild("../my-shared-library")
