Rust Protos のビルド
Cargo または Bazel を使用して Rust プロトを構築する方法について説明します。
Cargo
ビルドを設定する方法の例については、protobuf-example クレートを参照してください。
Bazel
Protobuf 定義の Rust ライブラリを構築するプロセスは、他のプログラミング言語と同様です
言語に依存しない
proto_libraryルールを使用しますproto_library( name = "person_proto", srcs = ["person.proto"], )Rust ライブラリを作成します
load("//third_party/protobuf/rust:defs.bzl", "rust_proto_library") proto_library( name = "person_proto", srcs = ["person.proto"], ) rust_proto_library( name = "person_rust_proto", deps = [":person_proto"], )Rust バイナリに含めることでライブラリを使用します
load("//third_party/bazel_rules/rules_rust/rust:defs.bzl", "rust_binary") load("//third_party/protobuf/rust:defs.bzl", "rust_proto_library") proto_library( name = "person_proto", srcs = ["person.proto"], ) rust_proto_library( name = "person_rust_proto", deps = [":person_proto"], ) rust_binary( name = "greet", srcs = ["greet.rs"], deps = [ ":person_rust_proto", ], )
注意
rust_upb_proto_library または rust_cc_proto_library を直接使用しないでください。 rust_proto_library はグローバルビルドフラグをチェックして、適切なバックエンドを自動的に選択します。