您可以通过多种方式帮助 Bazel 项目和生态系统。
提供反馈
在使用 Bazel 的过程中,您可能会发现一些可以改进的地方。 您可以在以下情况下报告问题,以帮助我们改进 Bazel:报告问题 当:
- Bazel 崩溃,或者您遇到只能使用
bazel clean解决的 bug。 - 文档不完整或不清楚。您还可以使用页面右上角的“创建问题” 链接,从您正在查看的页面报告问题 。
- 错误消息可以改进。
加入社区
您可以通过以下方式与 Bazel 社区互动:
- 回答 Stack Overflow 上的问题。
- 在 Slack 上帮助其他用户。
- 改进文档或贡献示例。
- 分享您的经验或提示,例如在博客或社交媒体上分享。
贡献代码
Bazel 是一个大型项目,对 Bazel 源代码进行更改 可能很困难。
您可以通过以下方式为 Bazel 生态系统做出贡献:
- 通过贡献 pull 请求来帮助规则维护人员。
- 创建新规则并将其开源。
- 为 Bazel 相关工具(例如迁移工具)做出贡献。
- 改进 Bazel 与其他 IDE 和工具的集成。
在进行更改之前,创建 GitHub 问题 或发送电子邮件至 bazel-discuss@。
最有帮助的贡献是修复 bug 或添加功能(而不是 样式、重构或“清理”更改)。您的更改应 包含测试和文档,同时考虑到向后兼容性、 可移植性以及对内存使用情况和性能的影响。
如需了解如何提交更改,请参阅 补丁接受流程。
Bazel 的代码说明
Bazel 有一个大型代码库,代码位于多个位置。如需了解详情,请参阅代码库指南。
Bazel 的组织结构如下:
- 客户端代码位于
src/main/cpp中,并提供命令行界面。 - 协议缓冲区位于
src/main/protobuf中。 - 服务器代码位于
src/main/java和src/test/java中。 - Java 原生接口位于
src/main/native中。 - 编译 Bazel 部分的列表介绍了各种语言支持工具。
搜索 Bazel 的源代码
如需快速搜索 Bazel 的源代码,请使用 Bazel 代码搜索。您可以浏览 Bazel 的 代码库、分支和文件。您还可以查看历史记录、差异和 blame 信息。如需了解详情,请参阅 Bazel 代码搜索用户指南。