Macro tonic::include_file_descriptor_set
source · macro_rules! include_file_descriptor_set { ($package: tt) => { ... }; }
Expand description
Include an encoded prost_types::FileDescriptorSet
as a &'static [u8]
. The parameter must be
the stem of the filename passed to file_descriptor_set_path
for the tonic-build::Builder
,
excluding the .bin
extension.
For example, a file descriptor set compiled like this in build.rs
:
ⓘ
let descriptor_path = PathBuf::from(env::var("OUT_DIR").unwrap()).join("my_descriptor.bin")
tonic_build::configure()
.file_descriptor_set_path(&descriptor_path)
.format(true)
.compile(&["proto/reflection.proto"], &["proto/"])?;
Can be included like this:
ⓘ
mod pb {
pub(crate) const FILE_DESCRIPTOR_SET: &[u8] = tonic::include_file_descriptor_set!("my_descriptor");
}
§Note:
This only works if the tonic-build output directory has been unmodified.
The default output directory is set to the OUT_DIR
environment variable.
If the output directory has been modified, the following pattern may be used
instead of this macro.
ⓘ
mod pb {
pub(crate) const FILE_DESCRIPTOR_SET: &[u8] = include_bytes!("/relative/protobuf/directory/descriptor_name.bin");
}