#build-script #build #script #log #pretty #custom

build-pretty

将自定义构建脚本(build.sh)的日志显示得更加美观!

1 个稳定版本

1.0.0 2022 年 5 月 4 日

#556调试

MIT 许可协议

19KB
445

githubcrates-iodocs-rs

image1

build-pretty

此库 crate 是针对构建脚本日志显示问题的解决方案之一,例如 Build Scripts 问题,如 rust-lang/cargo#985

使用方法

  1. 在您的项目的 Cargo.toml 中的 build-dependencies 添加 build-pretty 依赖项
[package]
...
build = "build.rs"
...
[build-dependencies]
build-pretty = "*"
  1. build-pretty 编写您的 build.rs
use build_pretty::{
 build_pretty,
 CommandBuilder
};

fn main()
{
 build_pretty!()
  .enque_command("Drink a cup of tea", CommandBuilder::new_with_arg("echo", "🍵 Green!\n☕ Black!\n🧋 Bubbles!").into())
  .enque_command("Eat a hotdog", CommandBuilder::new_with_arg("echo", "🌭 Hotdog!\n♨️ Hot?\n🐕 Dog!\n🌶️ Hot?\n🐶 Dog?").into())
  .enque_command("ls -l -a", CommandBuilder::new_with_args("ls", &["-l", "-a"]).into())
  .enque_fn("Ofcourse Fn can be used", Box::new(|output|{ *output = "brabrabra\nmewmewmew\nnekonyankonyanko🐾".to_string(); Ok(()) }))
  .enque_command("Sleep", CommandBuilder::new_with_arg("echo", "😴 I'm sleee....\n💤...\n🛌....pyyyyy....").into());
}

然后

image1

示例

特性

  • std::process::Command 运行器,具有捕获 STDOUT/STRERR 日志的功能!
  • Fn 运行器,具有捕获 String 输出的功能!
  • cargo_warning_ln! 宏,它也是构建脚本版本的 println!
  • 运行时消息自定义特性。开启/关闭,使用简单的模板关键字更改消息的详细信息。
  • 支持国际化子系统。(使用 rust-i18n
    • 目前支持:en ja
    • 欢迎您贡献支持更多语言的PR!😆

许可证

作者

依赖

~8–17MB
~225K SLoC