Skip to content

Commit 08c6244

Browse files
authored
Merge pull request #74 from elcoosp/feat/build-script-log
feat: Add `build-print` feature to enable logging in `build.rs` scripts
2 parents 269c357 + cd3e9e2 commit 08c6244

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,16 @@ log = "0.4.20"
2222
faccess = "0.2.4"
2323
os_pipe = "1.1.4"
2424
env_logger = "0.10.0"
25+
build-print = { version = "1.0", optional = true }
2526
tracing = { version = "0.1.41", optional = true }
2627

2728
[dev-dependencies]
2829
rayon = "1.8.0"
2930
clap = { version = "4", features = ["derive"] }
3031
byte-unit = "4.0.19"
32+
33+
[features]
34+
build-print = ["dep:build-print"]
3135
tracing = "0.1.41"
3236
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
3337

src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,12 @@ pub use cmd_lib_macros::{
386386
pub type FunResult = std::io::Result<String>;
387387
/// Return type for [`run_cmd!()`] macro.
388388
pub type CmdResult = std::io::Result<()>;
389+
#[cfg(feature = "build-print")]
390+
#[doc(hidden)]
391+
pub use build_print as inner_log;
389392
pub use child::{CmdChildren, FunChildren};
390393
pub use io::{CmdIn, CmdOut};
394+
#[cfg(not(feature = "build-print"))]
391395
#[doc(hidden)]
392396
pub use log as inner_log;
393397
#[doc(hidden)]

src/logger.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ macro_rules! info {
3939
macro_rules! debug {
4040
($($arg:tt)*) => {{
4141
$crate::try_init_default_logger();
42+
#[cfg(feature = "build-print")]
43+
$crate::inner_log::info!($($arg)*);
44+
#[cfg(not(feature = "build-print"))]
4245
$crate::inner_log::debug!($($arg)*);
4346
}}
4447
}
@@ -48,6 +51,9 @@ macro_rules! debug {
4851
macro_rules! trace {
4952
($($arg:tt)*) => {{
5053
$crate::try_init_default_logger();
54+
#[cfg(feature = "build-print")]
55+
$crate::inner_log::info!($($arg)*);
56+
#[cfg(not(feature = "build-print"))]
5157
$crate::inner_log::trace!($($arg)*);
5258
}}
5359
}

0 commit comments

Comments
 (0)