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'))
|
2020-08-18 08:50:16 +08:00
|
|
|
|
- 不要手动拆解数据包. 请一定使用 `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) 编写插件, 并发布到社区网站: (建设中)
|