aboutsummaryrefslogblamecommitdiffstats
path: root/testing/build.rs
blob: 2f868f4234f384bd321adf37c470c74f4678f719 (plain) (tree)

























                                                                          
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();
}