#assets-management #codegen #code-generation


Dynamically include assets at build time through code generation

4 releases

Uses old Rust 2015

0.2.1 Sep 24, 2018
0.2.0 Sep 18, 2018
0.1.1 Sep 17, 2018
0.1.0 Sep 14, 2018

#7 in #assets-management

Apache-2.0 OR MIT

468 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.


~46K SLoC