这个项目能做什么

Spring Config Contract 是一款开源开发者工具,旨在部署前检测 Spring Boot 应用中的配置漂移。它比较应用所需的配置(来自 @ConfigurationProperties、@Value 和 application.yml)与部署环境提供的配置(来自 .env.example 和 Docker Compose 文件),并报告缺失和未使用的配置键。 该项目处于早期开发阶段,目标版本为 v0.1.0。当前仓库包含开发基础设施、模块脚手架和文档;产品功能尚未普遍可用。 计划中的 v0.1.0 范围包括 Spring 侧输入发现、部署侧解析 .env.example 和 Docker Compose、契约发现结果(缺失/未使用配置、必需/可选行为、默认值感知比较),以及带有 configContractCheck 任务的 Gradle 插件。该 Gradle 插件(io.github.inyeok-office.config-contract)已在 main 分支实现但尚未发布;只能通过源码构建使用。该任务编译主源集、发现需求、读取部署文件,并按键排序打印结果。它会在任何 MISSING 或 UNUSED 发现时失败,但未附加到 check 任务。 代码库按模块组织:config-contract-core(框架无关的领域模型和比较规则)、config-contract-spring(Spring 特定发现)、config-contract-deployment(部署格式解析器)、config-contract-gradle-plugin(Gradle 集成)和 config-contract-test(共享测试夹具)。需要 JDK 21。采用 Apache 2.0 许可证。