开发贡献

 

如何贡献


有哪些形式的贡献

方舟编译器项目诚挚欢迎每个人加入社区并为项目作出贡献。在方舟编译器项目中做贡献,不局限于代码贡献一种形式,您可以通过如下多种形式参与到其中,而我们对您做出的任何贡献表示真诚的感谢:


报告错误

如果您发现了OpenArkCompiler的问题,您有必要访问Issue跟踪系统并上报。登录后创建Issue,将您发现的问题和出现条件进行详细的描述,这将有利于对问题进行重现和快速定位。


贡献代码

代码贡献仍是OpenArkCompiler项目最主要的贡献形式。我们欢迎社区志愿者贡献自己的代码,以此获得代码的维护和增强。为保障项目的健康发展和保持高质量的代码库,我们需要遵循如下贡献事宜:

请随时提问。通过在Issue跟踪系统中发表评论或通过邮件列表提出问题。

重要提示:对OpenArkCompiler项目贡献代码需要遵循流程,并非直接拉取请求和修改代码。首先请与我们取得联系,就需要优化的内容进行讨论,就修改方法达成共识。如果没有与OpenArkCompiler提交者达成共识,贡献可能需要大量返工或不予审核。


具体操作指南请参阅代码贡献指南


贡献用例

精美的用例能够帮助更多的开发者和用户快速参与到项目中。因此,OpenArkCompiler社区需要大量的用例贡献。针对用例,OpenArkCompiler社区开辟了专门的子项目用于存放代码,请参考用例代码库,代码提交方式参考上节内容。


贡献文档

OpenArkCompiler是较为底层的复杂软件系统。高质量的文档对于项目至关重要。方舟编译器社区旨在提供清晰、准确和完整的文档,以指引社区用户和开发者对项目有更加准确的了解。我们欢迎任何以改进OpenArkCompiler文档的贡献。具体操作指导请参阅文档贡献指南


帮助代码检视

要保证项目代码的高质量,定期检视代码是必须的。同时,对他人代码进行客观公正的评论及给出优化建议也是一种贡献,并且这是从贡献者晋升为Committer的一个重要考量部分。


回答开发者的问题和疑惑

  • 回复用户邮件列表中的问题
  • 在社区论坛中的问题
  • 检查Issue中的最新问题是否存在实际上是用户问题的故障单


传播关于方舟编译器的话题

  • 组织或参加OpenArkCompiler Meetup
  • 参与OpenArkCompiler微博、微信公众号、知乎等官方讨论渠道
  • 在community@openarkcompiler.cn邮件列表上分享您的会议。


签署贡献者协议


注册会员


操作步骤

  • 进入华为云首页,单击页面右上角的“注册”。
  • 设置手机号并单击“获取短信验证码”。
    • 该手机号未注册过华为云账号,或已注册过华为云账号,但账号数量未达到系统允许的最大数量 输入短信验证码、密码并勾选“我已阅读并同意《华为云用户协议》和《隐私政策声明》”。
    • 该手机号已注册过华为云账号,且账号数量已达到系统允许的最大数量将不支持再使用该手机号注册新的华为云账号。
  • 单击“同意协议并注册”。 账号提示注册成功。


 

文档贡献指南


在线编辑文档

开源代码托管平台支持在线编辑预览markdown格式的文档,选择需要修改的文件,点击右上角编辑按钮即可在线编辑。页面分左右两屏显示编辑窗口和预览窗口,编辑完成后再提交信息框内输入修改备注信息后点击提交即可完成文档在线编辑更新操作。


在线提交合并请求

提交完成后点击合并请求页签,点击右上角的新建合并请求按钮。在出现的分支选择框中,源分支为您修改文档所在的分支,目标分支为目标仓库的待合入分支。


注意事项

1、文档目录只支持Atx格式标题提取

Markdown支持两种标题的语法,类 Setext 和类 atx 形式。

类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),例如:

This is an H1
   =============

   This is an H2
   -------------

任何数量的 = 和 - 都可以有效果。

类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:

# 这是 H1

   ## 这是 H2

   ###### 这是 H6

文档项目目录目前只能提取Atx的标题,不能提取Setext这样的标题。

2、同一文档内图片不可重名

由于文档项目默认使用统一的文件夹存放图片,因此在上传图片的过程中请特别注意:图片不能重名!否则,新上传的图片将会替换重名的原有图片。

我们正在着手解决这一问题,未更新之前,还请自行为图片命名。


 

代码贡献指南


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 将在合并完成同时关闭。



内容结构

  • 如何贡献
  • 文档贡献
  • 代码贡献

script