#codegen #assets #include #time #types #helpers #frontend


Dynamically include assets at build time through code generation

4 releases

0.2.1 Sep 24, 2018
0.2.0 Sep 18, 2018
0.1.1 Sep 17, 2018
0.1.0 Sep 14, 2018
Download history 163/week @ 2019-12-08 1/week @ 2019-12-15 4/week @ 2019-12-22 58/week @ 2020-01-12 8/week @ 2020-01-19 1/week @ 2020-01-26 5/week @ 2020-02-09 4/week @ 2020-02-16 20/week @ 2020-02-23 8/week @ 2020-03-08 4/week @ 2020-03-15 16/week @ 2020-03-22

83 downloads per month

Apache-2.0 OR MIT

469 lines

includer_codegen Build Status Documentation

This crate is intended to be used at build time to generate code that includes your assets. The "frontend" library includer provides the types for your library/binary that includer_codegen outputs, along with some helpers.

The following is a build.rs file that includes all the files (recursively) in the subdirectory resources in a cargo project.

extern crate includer_codegen;

use includer_codegen::prelude::*;
use std::env;
use std::path::PathBuf;

fn main() {
    let cargo_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
    let resources_path = PathBuf::from(cargo_dir).join("resources");
    let resources = Assets::new("ASSETS", resources_path).build();



Filtering files is possible by included filter types. Currently there are built-in ways to include/exclude based on file extension or regex. See the documentation for the api to use these built-in filters.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~47K SLoC