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

問題を報告 ソースを表示

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

連絡先: gregestren

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

以前のロードマップ

目標

$ bazel build //:all は、あらゆるプロジェクトやプラットフォームで、問題なく機能します

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

また、cqueryStarlark configurationselect() もサポートしています。

ロードマップ

日付は、問題の複雑さとデベロッパーの対応状況について Google が把握した内容に基づく概算値です。2021 年は一度に少数のプロジェクトに 集中して取り組む予定ですGoogle では、正確な期待値を実現するために、積極的に優先順位が付けられている作業にのみ ETA を設定します。

プラットフォーム

2021 年第 3 四半期Android ルールが新しいプラットフォーム API を使用する進行中#11749

  • これは、2021 年初頭の当社の主な優先事項です。

2021 年第 3 四半期複数の実行プラットフォームをサポート開発中#11748

一時停止C++ ルールでは新しい platformsfall API が使用されます IN PROGRESS#6516

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

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

  • ターゲットで複数のプラットフォーム向けにビルドすることを宣言できるようにする
  • ユーザーのリクエストによりここに記載

paused--cpu と関連するフラグのサポート終了と削除 NOTED

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

効率性

2021 年試験運用版の Bazel モードでクロス プラットフォームの Java コンパイルがキャッシュされます 処理中#6526

  • マルチプラットフォームのビルド速度を改善
  • 割り当てが十分ではないため、進行が遅い