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

問題を報告する ソースを表示 ナイトリー · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

連絡先: gregestren

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

以前のロードマップ

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

目標

$ bazel build //:all は、どのプロジェクトでもどのプラットフォームでも問題なく動作します。

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

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

ロードマップ

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

プラットフォーム

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

  • これは 2021 年の初めの主要な優先事項です。

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

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

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

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

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

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

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

効率性

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

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