diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-20 19:30:40 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-20 19:30:40 +0200 |
| commit | 966a80c4199a49898cc7d8641012d520ce6b2efa (patch) | |
| tree | 51029ff75842090fd1eecbea97b6f7c447e3dea9 /crates/turtle/build.rs | |
| parent | chore(server): Remove warnings (diff) | |
| download | atuin-966a80c4199a49898cc7d8641012d520ce6b2efa.zip | |
chore: Commit
Diffstat (limited to 'crates/turtle/build.rs')
| -rw-r--r-- | crates/turtle/build.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/crates/turtle/build.rs b/crates/turtle/build.rs new file mode 100644 index 00000000..62612968 --- /dev/null +++ b/crates/turtle/build.rs @@ -0,0 +1,32 @@ +use std::{env, fs, path::PathBuf}; + +use protox::Compiler; +use protox::prost::Message; + +fn main() -> Result<(), std::io::Error> { + let proto_paths = [ + "proto/history.proto", + "proto/control.proto", + ]; + let proto_include_dirs = ["proto"]; + + let file_descriptor_set = Compiler::new(proto_include_dirs) + .map_err(std::io::Error::other)? + .include_source_info(true) + .include_imports(true) + .open_files(proto_paths) + .map_err(std::io::Error::other)? + .file_descriptor_set(); + + let file_descriptor_path = PathBuf::from(env::var_os("OUT_DIR").expect("OUT_DIR not set")) + .join("file_descriptor_set.bin"); + fs::write(&file_descriptor_path, file_descriptor_set.encode_to_vec()).unwrap(); + + tonic_prost_build::configure() + .build_server(true) + .file_descriptor_set_path(&file_descriptor_path) + .skip_protoc_run() + .compile_protos(&proto_paths, &proto_include_dirs)?; + + Ok(()) +} |
