2 个版本

0.1.1 2020年12月25日
0.1.0 2020年5月15日

#2252开发工具

22 每月下载

MIT 许可协议

56KB
706

Crates.io MIT licensed

devbox

一组小型构建相关库,旨在作为 dev-dependencies 使用

安装

要开始使用,请在 dev-dependencies 下添加以下内容到 Cargo.toml

[dev-dependencies]
devbox = { version = "0.1" }

测试宏

通过 #[test] 通过 #[args] 属性宏添加参数化能力。

#[args(
    char_a: 'a';
    char_b: 'b' ! "unexpected character";
)]
#[test]
fn parametrized_test_for(character:_) {
    assert_eq!('a', character, "unexpected character");
}

查看 #[args] 属性以获取完整示例和使用说明。

构建脚本

一个小的实用库,用于在 Rust 构建脚本(build.rs)中更容易地操作文件和调用外部工具,同时避免重新构建已更新的构建工件。


pub fn main() {

    let build = Build::new();
    let websrc = build.manifest_dir().dir("webapp");
    let webwrk = build.out_dir().dir("webapp_build");
    let webwrk_pkg = webwrk.file("package.json");
    let webwrk_pkl = webwrk.file("package-lock.json");

    for unit in websrc.content("*") {
        unit.link_from_inside(&webwrk);
    }

    let npm = Cmd::new("npm").arg("--prefix").arg(webwrk.path());

    webwrk.dir("node_modules").mk_from("Install WebApp node packages", &webwrk_pkg + &webwrk_pkl, ||{
        npm.clone().arg("install").run();
        webwrk.dir("node_modules").touch();
    });

    webwrk.dir("dist").mk_from("Build WebApp using webpack", &webwrk.content("**"), || {
        npm.clone().arg("run").arg("build").run();
        webwrk.dir("dist").touch();
    });
}

查看 build 模块以获取完整的工作示例和使用说明。

许可协议

许可协议为 MIT 许可协议(LICENSEhttps://opensource.org/licenses/MIT

贡献

除非您明确声明,否则您提交给 Devbox 的任何有意贡献均应按 MIT 许可,不附加任何额外条款或条件。

依赖项

~5–14MB
~154K SLoC