用途:把整个 Gradle Kotlin 项目迁移到 Kotlin Toolchain,同时完成两件事——依赖与配置的机械翻译,以及为 Toolchain 没有原生答案的每个 Gradle 插件寻找替代。可适配模板见 references/examples.md。插件类子问题可借助配套技能:kotlin-tooling-kotlin-toolchain(语法)、kotlin-tooling-gradle-to-kotlin-toolchain-plugin(逐插件移植流程)、kotlin-tooling-kotlin-toolchain-plugin-authoring(从零编写插件)。
原则:保留源代码,若迁移迫使改动业务逻辑,优先用本地插件补位;每个第三方 Gradle 插件只能 drop、native 或 reimplement,绝不保留原 Gradle 插件;自研约定插件(buildSrc/build-logic 预编译脚本)属于共享配置,应转为模块模板而非本地插件;编写本地插件前先搜 GitHub,找到可用实现优先 vendor;所有依赖应放入版本目录,gradle/libs.versions.toml 保留为内置 $libs.* 目录,[bundles] 无对应物,转为模块模板。
工作流分五阶段:1)盘点 Gradle 构建(插件、约定插件、自定义任务、构建产物依赖、版本目录、gradle.properties、CI),写成 MIGRATION_PLAN.md;2)决定布局(maven-like)、插件集与范围,逐插件在 GitHub 搜索后选择 vendor/extend/author;3)实现,复制 kotlin/kotlin.bat 或 kotlin init,写 project.yaml、各插件、模板与根 module.yaml,逐插件验证;4)重写 CI,删除 build.gradle.kts、gradlew、gradle/wrapper/,保留 libs.versions.toml,清理目录;5)端到端验证,运行 ./kotlin show modules、./kotlin clean && ./kotlin build、./kotlin test、./kotlin check 等命令。
需注意的差异:module.yaml 不支持 ${...} 插值(仅 plugin.yaml 支持);模块名取自目录名,无 name: 字段;插件设置缺少 enabled: true 会被忽略;vendor 的 linter 插件可能比 Gradle 插件更严格;无版本目录 bundles;无 buildSrc/约定插件,共享配置放入模板;无依赖排除。资料未提供收费、价格与平台信息。