Rust Protobufの構築
Blazeを使用してRust Protobufを構築する方法について説明します。
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
は、グローバルビルドフラグをチェックして、適切なバックエンドを自動的に選択します。