aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-daemon/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-daemon/build.rs')
-rw-r--r--crates/atuin-daemon/build.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/crates/atuin-daemon/build.rs b/crates/atuin-daemon/build.rs
index 95118f6f..37721249 100644
--- a/crates/atuin-daemon/build.rs
+++ b/crates/atuin-daemon/build.rs
@@ -1,4 +1,17 @@
-fn main() -> Result<(), Box<dyn std::error::Error>> {
- tonic_build::compile_protos("./proto/history.proto")?;
- Ok(())
+use std::{env, fs, path::PathBuf};
+
+use protox::prost::Message;
+
+fn main() -> std::io::Result<()> {
+ let file_descriptors = protox::compile(["history.proto"], ["./proto/"]).unwrap();
+
+ 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_descriptors.encode_to_vec()).unwrap();
+
+ tonic_build::configure()
+ .build_server(true)
+ .file_descriptor_set_path(&file_descriptor_path)
+ .skip_protoc_run()
+ .compile(&["history.proto"], &["."])
}