跳到主要内容

代码贡献指南

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

工作区准备​

开发环境​

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

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

IDEA 设置​

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

工程项目设置​

设置项目 Language Level 为 8 以确保后向兼容。

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

代码格式化​

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

mvn spotless:apply