2 个版本
0.0.1 | 2022 年 11 月 6 日 |
---|---|
0.0.0 | 2022 年 11 月 6 日 |
#15 in #gear
34KB
622 行
Gear WASM 构建器
这是一个辅助包,可以用于构建 Gear 程序的构建脚本。
用法
- 将
gear-wasm-buider
包作为构建依赖项添加到Cargo.toml
# ...
[build-dependencies]
gear-wasm-builder = "0.1.2"
# ...
- 创建一个
build.rs
文件并将其放置在包含Cargo.toml
的目录中
fn main() {
gear_wasm_builder::build();
}
- 像往常一样使用
cargo
cargo clean
cargo build
cargo build --release
cargo test
cargo test --release
- 在
target/wasm32-unknown-unknown/<profile>
目录中找到构建的 WASM 二进制文件
.wasm
— 从源文件构建的原始 WASM.opt.wasm
— 提交给区块链的优化 WASM 二进制文件.meta.wasm
— 提供WASM二进制文件以用于辅助目的的元数据
- 此外,您还可以包含生成的
wasm_binary.rs
源文件,以便在编写测试等时使用 WASM 代码。
mod code {
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
}
#[test]
fn debug_wasm() {
assert_eq!(
std::fs::read("target/wasm32-unknown-unknown/debug/test_program.wasm").unwrap(),
code::WASM_BINARY,
);
assert_eq!(
std::fs::read("target/wasm32-unknown-unknown/debug/test_program.opt.wasm").unwrap(),
code::WASM_BINARY_OPT,
);
assert_eq!(
std::fs::read("target/wasm32-unknown-unknown/debug/test_program.meta.wasm").unwrap(),
code::WASM_BINARY_META,
);
}
许可证
源代码在 GPL-3.0-or-later WITH Classpath-exception-2.0
许可下授权。
依赖关系
~3–16MB
~183K SLoC