跳到主要内容

代码贡献指南

本节将介绍如何从源代码构建项目,同时也会说明如何贡献代码。

工作区准备

开发环境

需要 3.8.1及以上版本的Maven17及以上版本的JDK (Java Development Kit) 。目前,开发环境推荐 3.9.0 及以上版本的Maven和 21 及以上的版本Java,但在编译过程中必须使用 Java 1.8 兼容的语言特性,保证能在 Java 1.8 及以上版本环境中运行。

您可以使用 SDKMAN 等工具配置多版本的 Java 工具链。

IDEA 设置

以下指南针对使用 IntelliJ IDEA 开发,其他版本可能存在一些细节差异。请务必遵循所有步骤。

工程项目设置

设置项目 Language Level8 以确保后向兼容。

Git 使用

确保您已注册 GitHub 账号,并按照以下步骤完成本地开发环境配置:

Fork 仓库

在仓库的 GitHub 页面 点击 Fork 按钮,将项目复制到您的 GitHub 账户下,

https://github.com/<your-username>/fesod

克隆代码库

运行以下命令将 Fork 的项目克隆到本地:

git clone git@github.com:<your-username>/fesod.git

设置上游仓库

将官方仓库设置为 upstream,方便同步更新:

git remote add upstream git@github.com:apache/fesod.git
git remote set-url --push upstream no-pushing

运行 git remote -v 可检查配置是否正确。

新建分支修改

创建一个新的分支以进行开发

git checkout -b <your_branch_name>

注意事项:

  • 应该创建新分支来开发功能:git checkout -b feature-xxx。不建议直接在main分支上进行开发。
  • <your_branch_name> 为您自定义的分支名字。

提交代码到远程分支

在本地修改完代码后,将其提交到自己的代码库中。

git commit -a -m "<you_commit_message>"
git push origin <your_branch_name>

Pull request

新建 PR

在浏览器切换到自己的 GitHub 页面,切换分支到提交的分支 <your_branch_name>,点击 "Compare & pull request" 按钮进行创建。

填写 Commit Message

请参考 Commit 格式规范 来填写评论摘要和详细内容,然后点击创建拉取请求来创建它。

准备审核

成功创建后,社区提交者将进行代码审查,随后会与你讨论具体细节(设计、实现、性能等),之后你可直接根据建议在此分支更新代码(无需创建新PR)。当此PR获得批准时,提交内容将合并至主分支。

分支定义

所有贡献应基于 main 开发分支。此外,还有以下分支类型:

  • release 分支:用于版本发布(如 1.1.0, 1.1.1)。
  • feature 分支:用于开发较大的功能。
  • hotfix 分支:用于修复重要 Bug。

提交 PR 时,请确保变更基于 main 分支。

编译

运行以下命令编译

mvn clean install -DskipTests

为了加快构建速度,您可以:

  • 使用-DskipTests跳过单元测试
  • 使用 Maven 的并行构建功能,例如,mvn clean install -DskipTests -T 1C

代码格式化

使用 Spotless 检查并修复代码风格和格式问题。 您可以执行如下的命令,Spotless 将会自动检查并修复代码风格和格式问题。

mvn spotless:apply