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

最終確認日: 2021 年 1 月 25 日更新履歴

連絡先: gregestren

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

以前のロードマップ

目標

$ bazel build //:all は、あらゆるプロジェクトとプラットフォームに対応しています。

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

cqueryStarlark configurationselect() もサポートされています。

ロードマップ

日付は、問題の複雑さとデベロッパーの利用可能性について Google が的確に把握したうえで、おおよその日付です。2021 年は、一度に少数のプロジェクトにより多くの取り組みに集中したいと考えています。ETA は、正確な見通しを示すために、積極的に優先順位が付けられている作業についてのみ設定します。

プラットフォーム

2021 年第 3 四半期Android のルールで新しいプラットフォーム API を使用中#11749

  • これを 2021 年初頭に優先して取り組むことになりました。

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

一時停止C++ ルールは新しい platformsfall API を使用#6516

  • Android プラットフォームではブロックされます。これは、簡単な旗の反転で有効にできます。

一時停止マルチプラットフォーム ターゲット 開始されていません

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

paused--cpu および関連フラグのサポート終了と削除 NOT STARTED

  • これは野心的な目標であり、すべてのルールをプラットフォームに移行するとは言えません。

効率性

2021試験運用版の Bazel モードで、クロス プラットフォーム Java コンパイルがキャッシュに保存されます IN PROGRESS#6526

  • マルチプラットフォームのビルド速度を改善
  • 割り当て不足のため進行状況が遅い