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