BazelCon 2022 將於 11 月 16 日至 17 日在紐約和線上舉行。
立即報名!

協助改善 Bazel

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

為 Bazel 專案和生態系統提供協助的方式有很多種。

提供意見

使用 Bazel 時,您可能會發現改善項目。 發生下列情況時,您可以透過回報問題功能尋求協助:

  • Bazel 當機或發生只能透過 bazel clean 解決的錯誤。
  • 說明文件不完整或不清楚。也可以使用頁面右上角的 [建立問題] 連結,向目前檢視的網頁回報問題。
  • 可改善的錯誤訊息。

參與社群

您可以透過以下方式與 Bazel 社群互動:

  • Stack Overflow 上回答問題。
  • 協助 Slack 上的其他使用者。
  • 改善說明文件或貢獻範例
  • 在網誌或社群媒體上分享經驗或訣竅。

提供程式碼

Bazel 是一項大型專案,然而變更 Bazel 原始碼並不容易。

您可以透過以下方式為 Bazel 生態系統貢獻心力:

  • 提供提取要求以協助規則維護人員。
  • 建立新規則及以新資源提供。
  • 協助改善 Bazel 相關工具,例如遷移工具。
  • 改善 Bazel 與其他 IDE 和工具的整合。

進行變更之前,請建立 GitHub 問題或傳送電子郵件至 bazel-dev@

最實用的貢獻功能可以修正錯誤或新增功能 (而非樣式、重構或「清理」變更)。變更應包含測試和說明文件,請記住回溯相容性、可攜性,以及對記憶體用量和效能的影響。

要瞭解如何提交變更,請參閱修補接受程序

Bazel 的程式碼說明

Bazel 在不同位置擁有大量程式碼集。詳情請參閱程式碼集指南

Bazel 的結構如下:

  • 用戶端程式碼位於 src/main/cpp 中,並提供指令列介面。
  • 通訊協定緩衝區位於 src/main/protobuf 中。
  • 伺服器代碼位於 src/main/javasrc/test/java
    • 核心程式碼主要由 SkyFrame 和部分公用程式組成。
    • 內建規則位於 com.google.devtools.build.lib.rulescom.google.devtools.build.lib.bazel.rules 中。建議您先參閱撰寫規則的挑戰
  • Java 原生介面位於 src/main/native
  • 編譯 Bazel 章節的清單提供了各種語言支援的工具。

正在搜尋 Bazel' 的原始碼

如要快速搜尋 Bazel' 的原始碼,請使用 Bazel Code Search。您可以瀏覽 Bazel' 的存放區、分支版本和檔案。您也可以查看記錄、差異和模糊資訊。詳情請參閱 Bazel Code Search 使用手冊