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

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