Bazel の構成に関する 2021 年のロードマップ

最終確認日: 2021-01-25 (更新履歴)

問い合わせ先: gregestren

ディスカッション: 構成のロードマップ: ディスカッション

以前のロードマップ

  • 2020 年(年末レビューあり)
  • 2019 年(年末レビューあり)
  • 2018 年

目標

$ bazel build //:all 機能するようにします。プロジェクトやプラットフォームに関係なく。

  • ビルドにコマンドライン フラグは必要ありません。
  • 各ターゲットは、正しい設定(android_binary が正しい NDK を使用するなど)を自動的に使用します。
  • 複数のプラットフォーム向けに簡単にビルドできます。
  • ビルドは、特にグラフサイズとアクション キャッシュに関して、適切にスケーリングされます。

cqueryStarlark configuration、 および select()もサポートしています。

ロードマップ

日付は、問題の複雑さ とデベロッパーの可用性に関する Google の理解に基づいて概算で示されています。2021 年には、一度に少数の プロジェクトに注力する予定です。正確な予測を行うため、 優先度の高い作業にのみ ETA を設定します。

プラットフォーム

2021 年第 3 四半期Android ルールで新しい platforms API 進行中#11749

  • これは、2021 年初めの Google の最優先事項です。

2021 年第 3 四半期ビルドで複数の実行 プラットフォームをサポート 進行中#11748

一時停止C++ ルールで新しい platformsfall API 進行中#6516

  • これは Android プラットフォームでブロックされています。簡単なフラグ切り替えで有効にできます。

一時停止マルチプラットフォーム ターゲット 未開始

  • ターゲットで、複数のプラットフォーム向けにビルドする必要があることを宣言できるようにします。
  • ユーザー リクエストにより、ここに記載されています。

一時停止--cpu と関連フラグを非推奨にして削除 未開始

  • これは、すべてのルールをプラットフォームに移行することで実現できる、野心的な目標です。

効率性

2021試験運用版の Bazel モードで クロスプラットフォーム Java コンパイルをキャッシュに保存 進行中#6526

  • マルチプラットフォーム ビルドの速度が向上します。
  • 割り当てが不足しているため、進捗が遅れています。