最終確認日: 2021 年 1 月 25 日(更新履歴)
連絡先: gregestren
ディスカッション: 構成可能性のロードマップ: ディスカッション
以前のロードマップ
目標
$ bazel build //:all
は、あらゆるプロジェクトやプラットフォームで、問題なく機能します。
- ビルドにコマンドライン フラグは必要ありません。
- 各ターゲットは、正しい設定を自動的に使用します(
android_binary
が正しい NDK を使用するなど)。 - 複数のプラットフォームに簡単に構築できます。
- 特にグラフサイズとアクションのキャッシュ保存に関して、ビルドが適切にスケーリングされます。
また、cquery
、Starlark
configuration
、select()
もサポートされています。
ロードマップ
日付は、問題の複雑さとデベロッパーの対応状況に基づいて推定されています。2021 年は、一度に取り組むプロジェクトを絞り、より多くのリソースを集中的に投入する予定です。Google では、正確な期待値を実現するために、積極的に優先されている作業に対してのみ ETA を設定します。
プラットフォーム
2021 年第 3 四半期Android ルールが新しいプラットフォーム API を使用する進行中(#11749)
- これは、2021 年初頭の当社の主な優先事項です。
2021 年第 3 四半期複数の実行プラットフォームをサポートするビルド進行中(#11748)
一時停止C++ ルールが新しい platformsfall API を使用する進行中(#6516)
- これは Android プラットフォームではブロックされます。これは、フラグを簡単に反転することで有効にできます。
一時停止マルチプラットフォーム ターゲット 未開始
- ターゲットで複数のプラットフォーム向けにビルドすることを宣言できるようにする
- ユーザーのリクエストによりここに記載
一時停止--cpu
と関連するフラグを非推奨にして削除
未開始
- これは、すべてのルールをプラットフォームに移行することから派生する野心的な目標です。
効率性
2021試験運用版の Bazel モードでクロスプラットフォーム Java コンパイルをキャッシュに保存 進行中(#6526)
- マルチプラットフォーム ビルドの速度が向上
- 割り当てが不足しているため、進捗が遅い