1 stable release
1.0.0 | May 4, 2022 |
---|
#559 in Debugging
19KB
445 lines
build-pretty
This lib crate is one of workarround solution for log displaying of Build Scripts issue such as rust-lang/cargo#985.
Usage
- Add
build-pretty
dependency in[build-dependencies]
of your project'sCargo.toml
[package]
...
build = "build.rs"
...
[build-dependencies]
build-pretty = "*"
- Write your
build.rs
withbuild-pretty
:
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());
}
and then:
Examples:
Features:
std::process::Command
runner with STDOUT/STRERR log capturing!Fn
runner withString
output capturing!cargo_warning_ln!
macro, it's also to Build Script versionprintln!
.- runtime message customize feature. on/off, change message detail as your like with easy template keywords.
- i18n subsystem support. (using rust-i18n)
- Currently supported: en ja
- Welcome your additional language support PR!😆
LICENSE
Author
- USAGI.NETWORK / Usagi Ito https://github.com/usagi/
Dependencies
~8–17MB
~225K SLoC