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

問題を報告する ソースを表示 ナイトリー · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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