| Crates.io | rust_source_bundler |
| lib.rs | rust_source_bundler |
| version | 0.2.2 |
| created_at | 2022-08-29 14:29:46.797307+00 |
| updated_at | 2022-08-29 14:29:46.797307+00 |
| description | Library to bundle local Rust library source files into a single file |
| homepage | |
| repository | https://github.com/adam-bates/rust_source_bundler |
| max_upload_size | |
| id | 654531 |
| size | 18,379 |
Easily bundle local Rust library files into a single file.
This can be useful when importing or generating Rust code as you can include! or include_str! on a single generated file containing all modules.
You can run the program on this library's source files
cargo run --example rust_source_bundler
Given the following files:
project/src/
|- helpers/
| |- inner.rs
| |- mod.rs
|- lib.rs
|- utils.rs
// project/src/lib.rs
pub mod utils;
mod helpers;
use helpers::helper_fn;
pub fn lib_fn() {}
// project/src/utils.rs
pub fn utils_fn() {}
// project/src/helpers/mod.rs
mod inner;
pub use inner::*;
pub fn helper_fn() {}
// project/src/helpers/inner.rs
pub fn inner_fn() {}
You can use this library:
// project/build.rs to generate code on build
fn main() {
let code = rust_source_bundler::bundle_source("./project/src", "lib.rs").unwrap();
println!("{code}");
/* Prints:
pub mod utils {
pub fn utils_fn() {}
}
mod helpers {
mod inner {
pub fn inner_fn() {}
}
pub use inner::*;
pub fn helper_fn() {}
}
use helpers::helper_fn;
pub fn lib_fn() {}
*/
}