Bazel Build API(2021 年)のロードマップ

最終確認日: 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 年半ば