菜单

项目配置与贡献

相关源文件

本节涵盖项目范围的配置设置、贡献指南以及通过物料清单 (BOM) 进行的依赖管理。它记录了管理全局项目行为的配置文件、贡献 Spring Framework 的流程以及管理构件分发的发布基础设施。

有关 Gradle 构建系统架构和自定义插件的信息,请参阅构建系统

项目配置

Spring Framework 使用集中式配置文件来管理影响多项目构建中所有模块的全局项目设置。

全局属性配置

主要项目配置通过 gradle.properties 管理,该文件定义了构建范围的设置

项目配置属性

属性目的
version7.0.0-SNAPSHOT定义所有模块的当前开发版本
kotlinVersion2.2.0-RC2指定项目使用的 Kotlin 编译器版本
org.gradle.cachingtrue启用构建缓存以提高性能
org.gradle.paralleltrue允许子项目并行执行
org.gradle.jvmargs-Xmx2048m设置 Gradle 守护进程的 JVM 内存分配

来源:gradle.properties1-11

Kotlin 特有配置

该项目包含特定的 Kotlin 配置,用于管理编译器行为和依赖处理

  • kotlin.jvm.target.validation.mode=ignore - 禁用 JVM 目标验证警告
  • kotlin.stdlib.default.dependency=false - 阻止自动包含 Kotlin 标准库

这些设置确保所有模块的 Kotlin 编译一致性,同时避免依赖冲突。

来源:gradle.properties9-11

贡献指南

Spring Framework 遵循由开发者原创性证明 (DCO) 而非传统贡献者许可协议 (CLA) 管理的结构化贡献流程。

贡献工作流程

贡献流程步骤

  1. 提问与研究阶段 - 贡献者应首先查阅 Stack Overflow 和现有的 GitHub 问题
  2. 问题创建 - 可选,但建议用于复杂更改或功能请求
  3. 拉取请求提交 - 直接向 main 分支提交
  4. DCO 合规性 - 所有提交必须包含 Signed-off-by 尾注
  5. 代码审查 - 合并前的团队审查和潜在修改

来源:CONTRIBUTING.md25-104

开发者原创性证明

项目已从 CLA 过渡到 DCO,以简化贡献流程。主要要求如下:

  • 所有提交必须包含 Signed-off-by 尾注
  • 贡献者同意开发者原创性证明
  • 格式:Signed-off-by: Your Name <your.email@domain.com>

这一更改简化了贡献流程,同时保持了代码提交的法律合规性。

来源:CONTRIBUTING.md84-87

代码提交标准

提交消息格式

  • 主题行:最多 55 个字符
  • 描述:每行 72 个字符
  • 包含问题引用:Closes gh-22276
  • 要求 DCO 签章尾注

拉取请求指南

  • 仅向 main 分支提交
  • 合并表示相同逻辑更改的提交
  • 在 PR 描述中包含上下文和动机
  • 在适用时引用先前问题

来源:CONTRIBUTING.md74-96

物料清单管理

Spring Framework 提供物料清单 (BOM) 来管理所有框架模块的依赖版本。

BOM 结构与配置

BOM 自动将所有模块项目作为依赖约束包含在内

这确保所有 Spring Framework 模块都以一致的版本包含在 BOM 中。

来源:framework-bom/framework-bom.gradle8-14

发布配置

该框架使用集中式发布配置,将一致的元数据应用于所有构件

POM 元数据标准

  • 组织:Spring IO
  • 许可证:Apache License, Version 2.0
  • SCM:GitHub 仓库引用
  • 问题管理:GitHub Issues
  • 开发者信息:核心维护者详情

该配置包含版本映射策略,使用解析结果来确保发布 POM 中依赖项版本的准确性。

来源:gradle/publications.gradle6-48

部署仓库配置

发布系统通过 configureDeploymentRepository 函数支持可配置的部署仓库

  • 检查 deploymentRepository 项目属性
  • 使用指定 URL 配置 Maven 仓库
  • 将仓库命名为“deployment”以供识别

这允许根据构建配置灵活部署到不同的仓库(快照、发布等)。

来源:gradle/publications.gradle54-64

问题与拉取请求生命周期

问题管理流程

问题生命周期阶段

  1. 等待分类 - 问题创建时的初始状态
  2. 审查中 - 团队成员已分类并正在评估
  3. 已分配 - 问题已验证并分配给里程碑
  4. 已关闭 - 问题已解决或以特定状态被拒绝
  5. 重新打开 - 修复不充分的罕见情况

来源:CONTRIBUTING.md54-64

文档与风格指南

项目维护全面的文档标准

参考文档

  • 使用 Antora 以 Asciidoctor 格式编写
  • 源文件位于 framework-docs/modules/ROOT
  • 构建命令:./gradlew antora
  • 输出位置:framework-docs/build/site/index.html

代码风格要求

  • 在维基页面中定义了代码风格和 IntelliJ IDEA 编辑器设置
  • 所有模块的一致格式标准
  • 提供特定于 IDE 的配置

来源:CONTRIBUTING.md118-136