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

問題を報告 ソースを表示 Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

連絡先: gregestren

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

以前のロードマップ

目標

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

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

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

ロードマップ

日付は、問題の複雑さとデベロッパーの対応状況に基づいて推定されています。2021 年は、一度に取り組むプロジェクトを絞り、より多くのリソースを集中的に投入する予定です。Google では、正確な期待値を実現するために、積極的に優先されている作業に対してのみ ETA を設定します。

プラットフォーム

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

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

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

一時停止C++ ルールが新しい platformsfall API を使用する進行中#6516

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

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

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

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

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

効率性

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

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