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
はグローバルビルドフラグをチェックして、適切なバックエンドを自動的に選択します。