Nachrichtenankündigungen für Version 29.x

Änderungen, die für die Protocol Buffers Version 29.x angekündigt wurden.

Die folgenden Ankündigungen sind spezifisch für Version 29.x, die am 27. November 2024 veröffentlicht wurde. Informationen, die chronologisch dargestellt werden, finden Sie unter Nachrichten.

Bazel und Proto-Regeln

Es wird bald Änderungen an der Funktionsweise von Bazel für Protobuf-Builds geben. Diese Änderungen erfordern Aufmerksamkeit in der ersten Phase und Maßnahmen von den Projekteigentümern vor der zweiten Phase.

Phase 1

Mit der Veröffentlichung von Bazel 8 werden die Proto-Regeln (proto_library, cc_proto_library, java_proto_library, java_lite_proto_library und py_proto_library) aus dem Bazel-Projekt entfernt. Sie werden in v29 zum Protocol Buffers-Projekt hinzugefügt. Bazel wird aktualisiert, um die Regeln automatisch aus dem Protobuf-Projekt zu verwenden, sodass die Änderung für Projekteigentümer zunächst keine Auswirkungen hat.

Nach der Veröffentlichung von Bazel 8 und vor der Veröffentlichung von Bazel 9 müssen Benutzer die Regeln explizit aus dem Protokollpuffer-Projekt-Repository loaden. Die automatische Verwendung der Regeln ist nur vorübergehend, um die Migration zu unterstützen.

Benutzer sollten die folgenden load()-Anweisungen zu allen BUILD- oder .bzl-Dateien hinzufügen, die diese Proto-Regeln verwenden. Beachten Sie, dass hierfür Protobuf v29.0 oder höher erforderlich ist.

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")

Phase 2

Wenn Bazel 9 veröffentlicht wird, wird das automatische Laden der Regeln der Protobuf-Bibliothek entfernt. Zu diesem Zeitpunkt müssen Sie load-Anweisungen in Ihren Bazel-Build-Dateien haben.

Endziel

Sobald die Regeln im Protobuf-Repository vorhanden sind, beabsichtigen wir, gängige Benutzeranfragen zu bearbeiten, wie z. B. die Verwendung von Prebuilts für den Proto-Compiler, wo dies möglich ist.