Bazel 設定藍圖 2021 年發展藍圖

回報問題 查看原始碼 Nightly 8.1 · 8.0 · 7.5 · 7.4 · 7.3 · 7.2

上次驗證時間:2021-01-25 (更新記錄)

聯絡窗口: gregestren

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

先前的路線圖

目標

$ bazel build //:all 就是有效,適用於任何專案和平台。

  • 建構作業不需要指令列標記。
  • 每個目標都會自動使用正確的設定 (例如 android_binary 會使用正確的 NDK)。
  • 您可以輕鬆為多個平台建構應用程式。
  • 建構作業可順利擴充,特別是圖形大小和動作快取。

我們也支援 cqueryStarlark configurationselect()

發展藍圖

日期是根據我們對問題複雜度和開發人員可用性的最佳理解所估算的近似值。2021 年,我們打算將更多心力集中在少數專案上。我們只會針對積極優先處理的工作設定預估完成時間,以便提供準確的預期時間。

平台

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

  • 這是我們在 2021 年初的主要優先事項。

2021 年第 3 季版本支援多個執行平台 進行中 (#11748)

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

  • 這項功能在 Android 平台上遭到封鎖。我們可以透過簡單的標記翻轉來開啟這項功能。

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

  • 讓目標宣告應為多個平台進行建構
  • 列於此處,因為使用者要求

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

  • 這是在將所有規則遷移至平台後,所設立的目標。

提高效率

2021實驗性 Bazel 模式快取跨平台 Java 編譯 進行中 (#6526)

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