代码贡献指南
OpenArkCompiler 通过志愿者的代码贡献得到维护,改进和扩展。我们欢迎所有对 OpenArkCompiler 的贡献,但由于项目的规模和保持高质量代码库的原则,我们遵循本文档中解释的贡献过程。
请随时提问。在项目中新建 issue 或者对正在处理的 issue 发表评论,以此同 OpenArkCompiler 提交者达成共识。
重要提示:在开始处理代码贡献之前,请仔细阅读本文档。请遵循以下说明的流程和指南。对 OpenArkCompiler 的贡献不是从提交合并请求(Merge Request)开始的。我们希望贡献者首先与我们联系,共同讨论整体方法后达成一致。如果没有与 OpenArkCompiler 提交者达成共识,贡献可能需要大量返工或不予审核。
代码贡献流程
- 创建 issue 并达成共识
- 实施您的更改
- 创建合并请求并等待检视
合入合并请求以下是在实施时要记住的一些要点:
登录/创建华为开源平台账号
- 设置开发环境
- 请遵循编程规范
- 有一个合格的合并请求的贡献更容易被社区接受
创建issue
进入到OpenArkCompiler项目的 issue 列表新建对应的 issue,描述你发现的一个 bug 或者一个好的功能特性。项目 committer 会定期查看 issue 列表中新增的 issue,并进行回复。与 committer 意见达成一致后就可以开始 fork 仓库编写代码了。
issue 沟通建议:
- 如果你刚好看到一个未关闭的 issue,恰是你打算解决的, 添加评论,告诉他人你将负责这个。这样的话,可以避免他人重复劳动。
- 如果说某个 issue 处于未关闭状态很久了, 这可能是已经有人正在解决中,又或者是早已经解决过了,所以也请添加评论,在打算开启工作之前,最好是确认一下。
- 如果你创建了一 issue,但是没多久自己解决了, 也要添加评论,让其他人知道,然后关闭该 issue。记录本身就是为社区的贡献。
实施您的更改
与项目 committer 达成一致后,您就可以按照如下步骤来实施代码变更
fork 代码仓库并克隆到本地
进入openarkcompiler目录,为本地的仓库配置远端仓库,这样您可以在更新代码时保持和主仓同步,以此减少很多解决冲突的时间。
git remote add upstream https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler.git
- 创建一个本地分支用于提交您的变更
git checkout -b mybranch
- 同步合入主仓主干分支代码
git remote update upstream
git merge upstream/master
测试您的改动!若测试用例存在的话,跑一遍,以覆盖你的更改,若没有的话,则创建相应的用例。无论测试是否存在,一定要确保您的改动不会破坏掉现有的项目。
尽您最大的努力同项目现有编程规范保持一致,这便于您的贡献能够更快的被合入,以及未来他人更好的理解和维护。
创建合并请求并等待检视
新建合并请求之前的注意事项:
- 确保不包含不相关或不必要的重新格式化更改。
- 确保您的提交历史符合要求。
- 确保您的更改已合入主仓主干分支中的最新提交。
- 确保合并请求关联相应的 issue,并且每个 issue 问题都分配给一个合并请求(如果一个 issue 需要多个合并请求处理,首先要做的是将它拆分成多个 issue)
合入合并请求
审核完成后,代码将由 OpenArkCompiler 的 Committer 合并,对应的 issue 将在合并完成同时关闭。