代码贡献指南

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目录,为本地的仓库配置远端仓库,这样您可以在更新代码时保持和主仓同步,以此减少很多解决冲突的时间。

  1. git remote add upstream https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler.git
  • 创建一个本地分支用于提交您的变更
  1. git checkout -b mybranch
  • 同步合入主仓主干分支代码
  1. git remote update upstream
  2. git merge upstream/master
  • 测试您的改动!若测试用例存在的话,跑一遍,以覆盖你的更改,若没有的话,则创建相应的用例。无论测试是否存在,一定要确保您的改动不会破坏掉现有的项目。

  • 尽您最大的努力同项目现有编程规范保持一致,这便于您的贡献能够更快的被合入,以及未来他人更好的理解和维护。

创建合并请求并等待检视

新建合并请求之前的注意事项:

  • 确保不包含不相关或不必要的重新格式化更改。
  • 确保您的提交历史符合要求。
  • 确保您的更改已合入主仓主干分支中的最新提交。
  • 确保合并请求关联相应的 issue,并且每个 issue 问题都分配给一个合并请求(如果一个 issue 需要多个合并请求处理,首先要做的是将它拆分成多个 issue)

合入合并请求

审核完成后,代码将由 OpenArkCompiler 的 Committer 合并,对应的 issue 将在合并完成同时关闭。