バージョン 29.x のニュースとお知らせ
以下のお知らせは、2024年11月27日にリリースされたバージョン 29.x に特有のものです。時系列の情報については、ニュースをご覧ください。
Bazel と Proto ルール
protobuf ビルドにおける Bazel の動作方法に、今後の変更が予定されています。これらの変更は、最初のステージでは認識が、2番目のステージまでにはプロジェクトオーナーによる対応が必要です。
ステージ 1
Bazel 8 のリリースに伴い、proto ルール (proto_library
、cc_proto_library
、java_proto_library
、java_lite_proto_library
、および py_proto_library
) は Bazel プロジェクトから削除されます。これらは v29 で Protocol Buffers プロジェクトに追加されます。Bazel は protobuf プロジェクトのルールを自動的に使用するように更新されるため、この変更は当初プロジェクトオーナーにとっては何もしなくても問題ありません。
Bazel 8 のリリース後から Bazel 9 のリリースまでの間に、ユーザーは Protocol Buffers プロジェクトリポジトリからルールを明示的に load
する必要があります。ルールの自動使用は、移行をサポートするための一時的なものです。
ユーザーは、これらの proto ルールを使用するすべての BUILD
ファイルまたは .bzl
ファイルに、以下の load()
文を追加する必要があります。これらには Protobuf v29.0 以降が必要であることに注意してください。
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
load("@protobuf//bazel:java_proto_library.bzl", "java_proto_library")
load("@protobuf//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
load("@protobuf//bazel:py_proto_library.bzl", "py_proto_library")
ステージ 2
Bazel 9 がリリースされると、protobuf ライブラリのルールの自動読み込みは削除されます。その時点では、Bazel ビルドファイルに load
文を含める必要があります。
最終目標
ルールが protobuf リポジトリに移行された後は、可能な場合に proto コンパイラにビルド済みバイナリを使用するなど、一般的なユーザーからの要望に対応する予定です。