最終確認日: 2021 年 4 月 9 日(更新履歴)
連絡先: comius
ディスカッション: 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 ルールは Starlarkified に分類されます。処理中
2021 年半ば
- java_binary と java_test のルールは Starlarkify になりました。
- java_import と java_plugin のルールは Starkified になりました。
2021 年秋
- java_*_proto_library の明文化
- 残りの Java ルールは、java_package_configuration、java_runtime、java_ツールチェーン の Starlark 化されます。
2022 年
- java_common モジュールの明文化
C++ ルール
Starlark で C++ ルールを書き換えるには、事前に内部クリーンアップが必要です。その後、C++ ルールは組み込み機能を使用して Starlark に少しずつ書き換えられます。C++ ルール用 API は、Starlark でも cc_module が書き換えられるまで .bzl ファイルからアクセスできません。
2021 年第 1 四半期
- Clang モジュールのサポート、DROPPED*
- スキャンを含む、DROPPED* および DROPPED
- *モジュールがパフォーマンスの向上に本当に必要なものかどうかを評価するためには、より多くのデータが必要です。
2021 年第 2 四半期
- 内部 Go ルールが Starlark 化されている
- Objective-C ルールの objc_library および objc_import とそれらに関連するネイティブ コードが Starlarkified IN PROGRESS になっている
2021 年秋から 2022 年初め
- cc_binary、cc_test、cc_library を Starlark 化しました
2022 年
- 他の C++ ルールのスター化(fdo_profile、cc_import、cc_ツールチェーン、cc_ツールチェーン_suite、fdo_prefetch_Hints、cc_ツールチェーン_alias、cc_libc_top_alias、cc_host_ツールチェーン_alias、cc_host_ツールチェーン_alias、+2)
- cc_common モジュールの tarlarkification
その他
2021 年半ば
- アスペクトは他のアスペクトを伝播できます(提案のアスペクトは他のアスペクトを伝播)。進行中
- Starlark テスト フレームワークを改善