#单文件 #源代码 #打包 #本地 #打包器 #cargo

rust_source_bundler

库,用于将本地Rust库源文件打包成一个文件

1个不稳定版本

0.2.2 2022年8月29日

#1589 in 进程宏

MIT/Apache

7KB
75 代码行

Rust Source Bundler

轻松将本地Rust库文件打包成一个文件。

这非常有用,当您需要导入或生成Rust代码时,可以在包含所有模块的单个生成文件上使用 include!include_str!

示例

您可以在该库的源文件上运行此程序

cargo run --example rust_source_bundler

用法

给定以下文件

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() {}

您可以使用此库

// 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() {}

    */
}

依赖关系

~1.5MB
~39K SLoC