#![feature(exit_status_error)]
use glob::glob;
use procss::BuildCss;
fn with_wd<T>(indir: &str, f: impl FnOnce() -> T) -> T {
let current_dir = std::env::current_dir().unwrap();
std::env::set_current_dir(indir).unwrap();
let res = f();
std::env::set_current_dir(current_dir).unwrap();
res
}
fn glob_with_wd(indir: &str, input: &str) -> Vec<String> {
with_wd(indir, || {
glob(input)
.unwrap()
.map(|x| x.unwrap().to_string_lossy().to_string())
.collect()
})
}
fn main() -> Result<(), anyhow::Error> {
let out_dir = std::env::var("OUT_DIR").unwrap();
let out_path = std::path::Path::new(&out_dir);
let mut build = BuildCss::new("./src/less");
let files = glob_with_wd("./src/less", "**/*.less");
for src in files.iter() {
build.add_file(src);
}
build.compile()?.write(out_path.join("css"))?;
Ok(())
}