Function static_files::resource::generate_resources_mapping[][src]

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

}