Bazel 設定藍圖 2021 年發展藍圖

回報問題 查看來源

上次驗證日期:2021 年 1 月 25 日 (更新記錄)

聯絡窗口: gregestren

討論: 可設定性發展藍圖:討論

上一個路線圖

目標

$ bazel build //:all 適用於所有專案和平台

  • 建構作業不需要指令列旗標。
  • 每個目標都會自動使用正確的設定,例如 android_binary 使用正確的 NDK。
  • 可為多種平台輕鬆建構應用程式。
  • 可順暢調度資源,尤其是 wr.t 圖表大小和動作快取。

我們也支援 cqueryStarlark configurationselect()

發展藍圖

日期為概略值,是根據我們對問題複雜度和開發人員可用性的充分理解。在 2021 年,我們的目標是運用更多心力一次減少處理專案。我們只會為主動優先的工作設定預計到達時間,確保這些工作是為了達成準確的預期。

平台

2021 年第 3 季Android 規則使用新的 平台 API 開發中 (#11749)

  • 這是 2021 年初的首要任務。

2021 年第 3 季建構作業支援多個執行平台 (#11748)

已暫停C++ 規則使用新的 platformsfall API 開發中 (#6516)

  • 這項設定已在 Android 平台上遭到封鎖。我們可透過簡單的旗桿翻面開啟這項功能。

已暫停多平台目標 尚未開始

  • 讓指定目標宣告應針對多個平台建構應用程式
  • 此處列出基於使用者要求的原因

paused淘汰並移除 --cpu 和相關標記 尚未開始

  • 這是將所有規則遷移至平台的理想目標。

效率

2021實驗性 Bazel 模式正在快取跨平台 Java 編譯 (#6526)

  • 改善多平台建構速度
  • 用量不足,因此進度緩慢