aboutsummaryrefslogtreecommitdiff
path: root/crates/secd/build.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--crates/secd/build.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/crates/secd/build.rs b/crates/secd/build.rs
index 3a8149e..8471105 100644
--- a/crates/secd/build.rs
+++ b/crates/secd/build.rs
@@ -1,3 +1,28 @@
+use std::env;
+use std::path::PathBuf;
+
+use glob::glob;
+
fn main() {
println!("cargo:rerun-if-changed=migrations");
+
+ let proto_files: Vec<PathBuf> = glob("proto/**/*.proto")
+ .unwrap()
+ .into_iter()
+ .filter_map(Result::ok)
+ .collect();
+
+ // Tell cargo to recompile if any of these proto files are changed
+ for proto_file in &proto_files {
+ println!("cargo:rerun-if-changed={}", proto_file.display());
+ }
+
+ let descriptor_path = PathBuf::from(env::var("OUT_DIR").unwrap()).join("proto_descriptor.bin");
+
+ tonic_build::configure()
+ .server_mod_attribute("attrs", "#[cfg(feature = \"server\")]")
+ .client_mod_attribute("attrs", "#[cfg(feature = \"client\")]")
+ .file_descriptor_set_path(&descriptor_path)
+ .compile(&proto_files, &["proto"])
+ .unwrap();
}