Bazel Configurability 2021 ロードマップ

問題を報告する ソースを表示

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

連絡先: gregestren

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

前のロードマップ

目標

$ bazel build //:all は、あらゆるプロジェクトとプラットフォームでそのまま動作します

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

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

ロードマップ

日付は、問題の複雑さとデベロッパーの可用性に関する Google の理解に基づき、おおよその日付です。2021 年には、より少ないプロジェクト数に集中して取り組む予定です。Google では、正確な期待値を確保するために、ETA を積極的に優先順位付けした作業に設定します。

プラットフォーム

2021 年第 3 四半期Android ルールで新しい Platforms API を使用(進行中)(#11749

  • これは 2021 年の初めに YouTube が優先すべき優先事項です。

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

paused C++ ルールで使用する新しい platformsfall API IN PROGRESS#6516

  • これは Android プラットフォームでブロックされています。この動作はシンプルなフラグのフリップで有効にできます。

paused マルチプラットフォーム ターゲット開始前

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

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

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

効率性

2021試験運用版の Bazel モードが、プラットフォームをまたいだ Java コンパイルをキャッシュに保存#6526

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