aboutsummaryrefslogtreecommitdiffstats
path: root/testing/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'testing/build.rs')
-rw-r--r--testing/build.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/build.rs b/testing/build.rs
new file mode 100644
index 0000000..2f868f4
--- /dev/null
+++ b/testing/build.rs
@@ -0,0 +1,26 @@
+use std::env;
+use std::fs::{self, DirEntry};
+use std::io;
+use std::path::Path;
+
+fn visit_dirs(dir: &Path, cb: &Fn(&DirEntry)) -> io::Result<()> {
+ if dir.is_dir() {
+ for entry in try!(fs::read_dir(dir)) {
+ let entry = try!(entry);
+ let path = entry.path();
+ if path.is_dir() {
+ try!(visit_dirs(&path, cb));
+ } else {
+ cb(&entry);
+ }
+ }
+ }
+ Ok(())
+}
+
+fn main() {
+ let root = env::var("CARGO_MANIFEST_DIR").unwrap();
+ visit_dirs(&Path::new(&root).join("templates"), &|e: &DirEntry| {
+ println!("cargo:rerun-if-changed={}", e.path().to_str().unwrap());
+ }).unwrap();
+}