最終確認日: 2021 年 4 月 9 日 (更新履歴)
連絡先: comius
ディスカッション: API ロードマップの作成: ディスカッション
範囲
ビルド API チームは、ネイティブ ルールの実装と Starlark に公開されるネイティブ API を担当しています。
目標
すべてのルールを Starlark で実装し、特定の言語を専門とするチームに引き渡します。Bazel のコアから言語固有のロジックを削除します。
Java のルール
Java ルールはまず Starlark に書き換えられ、大規模なコードベースで内部的にテストされます。その後、Bazel にリリースされます。
2021 年第 1 四半期
- Java サンドイッチを改善し、既存の Java ルールを書き換えられるようにしました。完了
2021 年第 2 四半期
- Java のネイティブ ライブラリに対する Starlark のサポートを改善します。進行中
- プラグインと IDE の
java_common
サポートの改善 - 提案 Java 共通リファクタリング。進行中 - java_library ルールが Starlark 化されました。IN PROGRESS
2021 年半ば
- java_binary ルールと java_test ルールが Starlark 化されました。
- java_import ルールと java_plugin ルールが Starlark 化されました。
2021 年秋
- java_*_proto_library の Starlark 化
- 残りの Java ルール(java_package_configuration、java_runtime、java_toolchain)が Starlark 化されました。
2022 年
- java_common モジュールの Starlark 化。
C++ ルール
C++ ルールを Starlark で書き換える前に、内部のクリーンアップが必要です。その後、C++ ルールは組み込み機能を使用して Starlark に少しずつ書き換えられます。cc_module が Starlark で書き換えられるまで、C++ ルールの API は .bzl ファイルからアクセスできません。
2021 年第 1 四半期
- Clang モジュールのサポート、削除*
- スキャンを含めるのサポート、DROPPED* の両方からのパフォーマンスの改善が期待されます。
- *モジュールがパフォーマンスの改善に本当に必要なものかどうかを評価するには、さらに多くのデータが必要です。
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 モジュールの Starlark 化
その他
2021 年半ば
- アスペクトは他のアスペクトを伝播できます - 提案 他のアスペクトを伝播するアスペクト。進行中
- Starlark テスト フレームワークを改善