最終確認日: 2021-04-09 (更新履歴)
連絡先: comius
ディスカッション: Build API ロードマップ: ディスカッション
範囲
Build API チームは、ネイティブ ルールの実装と Starlark に公開されるネイティブ API を担当しています。
目標
すべてのルールを Starlark で実装し、特定の言語に特化したチームに引き渡します。Bazel のコアから言語固有のロジックを削除。
Java ルール
Java ルールは、まず Starlark に書き換えられ、大規模なコードベースで内部テストされます。その後、Bazel にリリースされます。
2021 年第 1 四半期
- Java サンドイッチを改善し、既存の Java ルールの書き換えを可能にしました。完了
2021 年第 2 四半期
- Java のネイティブ ライブラリに対する Starlark のサポートを改善。進行中
- プラグインと IDE の
java_common
サポートを改善 - 提案 Java の一般的なリファクタリング。進行中 - java_library ルールが Starlark 形式になりました。進行中
2021 年半ば
- java_binary ルールと java_test ルールが Starlark 形式になりました。
- java_import ルールと java_plugin ルールが Starlark 形式になりました。
2021 年秋
- java_*_proto_library の Starlarkification
- 残りの Java ルールは Starlark に変換されています(java_package_configuration、java_runtime、java_toolchain)。
2022 年
- java_common モジュールの Starlark 化。
C++ ルール
C++ ルールを Starlark で書き換えるには、内部のクリーンアップが必要です。その後、組み込み機能を使用して、C++ ルールが Starlark に少しずつ書き換えられます。cc_module が Starlark で書き換えられるまで、C++ ルールの API は .bzl ファイルからアクセスできなくなります。
2021 年第 1 四半期
- Clang モジュールのサポート、削除*
- スキャンのサポートを追加。削除*された両方の機能でパフォーマンスの向上が期待されます。
- *パフォーマンスの向上にモジュールが本当に必要かどうかを評価するには、さらに多くのデータが必要です。
2021 年第 2 四半期
- 内部 Go ルールの Starlark 化は進行中です。
- Objective-C ルール objc_library と objc_import とそれに関連するネイティブ コードを Starlark に変換 進行中
2021 年秋、2022 年初頭
- cc_binary、cc_test、cc_library が Starlark 化されました
2022 年
- 他の C++ ルールの Starlark 化(fdo_profile、cc_import、cc_toolchain、cc_toolchain_suite、fdo_prefetch_hints、cc_toolchain_alias、cc_libc_top_alias、cc_host_toolchain_alias、+2)
- cc_common モジュールの Starlarkification
その他
2021 年半ば
- アスペクトが他のアスペクトに伝播する - 提案アスペクトが他のアスペクトに伝播する。進行中
- Starlark テスト フレームワークを改善