mirai/CONTRIBUTING.md

34 lines
1.7 KiB
Markdown
Raw Normal View History

2020-03-10 14:14:15 +08:00
# 贡献
2020-06-11 15:32:54 +08:00
**感谢你来到这里和你对 mirai 做的所有贡献。**
2020-03-10 14:14:15 +08:00
mirai 欢迎一切形式的代码贡献。你可以通过以下几种途径向 mirai 贡献。
## 主仓库 `mirai-core`
2020-05-11 16:05:41 +08:00
**阅读文档** [docs/mirai.md](docs/mirai.md)
2020-08-22 13:06:01 +08:00
### 构建
- 要构建项目, 请运行 `gradlew assemble`
- 要运行测试, 请运行 `gradlew test`
- 要构建项目并运行测试, 请运行 `gradlew build`
- 若要添加一个 suspend 函数, 请务必考虑 Java 兼容性, 使用 [kotlin-jvm-blocking-bridge](https://github.com/mamoe/kotlin-jvm-blocking-bridge/blob/master/README-chs.md)
2020-06-11 15:32:54 +08:00
### 能做什么?
2020-05-24 18:25:36 +08:00
2020-06-16 14:02:06 +08:00
**请基于 `master` 分支进行文档修改; 基于 `dev` 分支进行其他修改 (否则你的修改可能被关闭或不会立即合并)**
2020-05-24 18:25:36 +08:00
2020-06-11 15:32:54 +08:00
- 代码优化: 优化任何功能设计或实现, 或是引入一个新的设计(请先通过 issue 与维护者达成共识)
- 解决问题: 在 [issues](https://github.com/mamoe/mirai/issues) 查看 mirai 正遇到的所有问题, 或在 [里程碑](https://github.com/mamoe/mirai/milestones) 查看版本计划
- 协议支持: 添加新协议支持, 但需要避免添加 [mirai.md#声明](docs/mirai.md#L9) 中的内容
2020-03-10 14:14:15 +08:00
### 注意事项
- 尽量不要引用新的库
2020-06-11 15:32:54 +08:00
- 遵守 Kotlin 官方代码规范(提交前使用 IDE 格式化代码 (commit 时勾选 'Reformat code')
- 不要手动拆解数据包. 请一定使用 `kotlinx.serialization` 拆解 ProtoBuf, 使用 `net.mamoe.mirai.qqandroid.utils.io.serialization.Tars` 拆解 Tars 数据包, 使用 `kotlinx.serialization` 拆解 Json 数据.
2020-03-10 14:14:15 +08:00
## 社区
2020-06-11 15:32:54 +08:00
插件社区不要求太高的代码质量,任何人都可以帮助 mirai。
2020-03-10 14:14:15 +08:00
可以为 [mirai-console](https://github.com/mamoe/mirai-console) 编写插件, 并发布到社区网站: (建设中)