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

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