最終確認日: 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 の Starlark 化
- 残りの 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 モジュール の Starlark 化
その他
2021 年半ば
- アスペクトは他のアスペクトを伝播できます - 提案 他のアスペクトを伝播するアスペクト。 進行中
- Starlark テスト フレームワークを改善する