您可以透過許多方式協助 Bazel 專案和生態系統。
提供意見
使用 Bazel 時,您可能會發現有待改善的項目。如有以下情況,您可以回報問題尋求協助:
- Bazel 當機或您發生只能透過
bazel clean
解決的錯誤。 - 說明文件不完整或不清楚。您也可以使用頁面右上角的「建立問題」連結,在目前顯示的頁面中回報問題。
- 錯誤訊息有待改善。
參與社群
您可以透過以下方式與 Bazel 社群互動:
- 在 Stack Overflow 上回答問題。
- 協助其他使用者 使用 Slack。
- 改善說明文件或提供範例。
- 在網誌或社群媒體等平台上分享經驗或訣竅。
提供代碼
Bazel 是大型專案,因此要變更 Bazel 原始碼並不容易。
您可以透過下列方式為 Bazel 生態系統做出貢獻:
- 貢獻提取要求,協助規則維護者。
- 制定新規則並開放需求。
- 協助改善 Bazel 相關工具,例如遷移工具。
- 改善 Bazel 與其他 IDE 和工具的整合。
進行變更前,請建立 GitHub 問題或傳送電子郵件至 bazel-discuss@。
最實用的貢獻會修正錯誤或新增功能 (與樣式、重構或「清理」變更不同)。變更應包含測試和說明文件,請記住回溯相容性、可攜性,以及對記憶體用量和效能的影響。
如要瞭解如何提交變更,請參閱「修補程式接受程序」。
Bazel 的程式碼說明
Bazel 內含大型程式碼集,且程式碼位於多個位置。詳情請參閱程式碼集指南。
Bazel 的組織方式如下:
- 用戶端程式碼位於
src/main/cpp
中,並提供指令列介面。 - 通訊協定緩衝區位於
src/main/protobuf
。 - 伺服器程式碼位於
src/main/java
和src/test/java
。 - Java 原生介面位於
src/main/native
中。 - 如要瞭解各種語言支援的工具,請參閱編譯 Bazel 一節的清單。
搜尋 Bazel 的原始碼
如要快速搜尋 Bazel 的原始碼,請使用 Bazel Code Search。您可以瀏覽 Bazel 的存放區、分支版本和檔案。您也可以查看記錄、差異和錯誤資訊。詳情請參閱 Bazel 程式碼搜尋使用手冊。