/
main.rs
22 lines (18 loc) · 1 KB
/
main.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use include_assets::{include_dir, NamedArchive};
fn main() {
// include_dir! path is relative to the workspace directory
let archive = NamedArchive::load(include_dir!("."));
// alternative examples:
//let archive = NamedArchive::load(include_dir!("examples/named/", compression = "uncompressed"));
//let archive = NamedArchive::load(include_dir!("examples/named/", compression = "lz4", links = "follow"));
//let archive = NamedArchive::load(include_dir!("examples/named/", compression = "zstd", level = 5));
//let archive = NamedArchive::load(include_dir!("examples/named/", compression = "deflate", level = 9, links = "forbid"));
println!("the following {} assets included in this executable:", archive.number_of_assets());
for (name, data) in archive.assets() {
println!("{}: {} bytes", name, data.len());
}
println!();
println!("Source code of this executable:");
let main_rs = std::str::from_utf8(&archive["src/main.rs"]).unwrap();
print!("{}", main_rs);
}