pub fn generate_resources_mapping<P: AsRef<Path>, G: AsRef<Path>>(
project_dir: P,
filter: Option<fn(p: &Path) -> bool>,
generated_filename: G,
) -> Result<()>
Expand description
Generate resource mapping for project_dir
using filter
.
Result saved in generated_filename
as anonymous block which returns HashMap<&'static str, Resource>
.
in build.rs
:
use std::{env, path::Path};
use static_files::resource::generate_resources_mapping;
fn main() {
let out_dir = env::var("OUT_DIR").unwrap();
let generated_filename = Path::new(&out_dir).join("generated_mapping.rs");
generate_resources_mapping("./tests", None, generated_filename).unwrap();
}
in main.rs
:
use std::collections::HashMap;
use static_files::Resource;
fn generate_mapping() -> HashMap<&'static str, Resource> {
include!(concat!(env!("OUT_DIR"), "/generated_mapping.rs"))
}
fn main() {
let generated_file = generate_mapping();
assert_eq!(generated_file.len(), 4);
}