Fix package log

This commit is contained in:
Wildan M 2025-10-25 12:17:11 +07:00
parent be2a4ddd0a
commit d91f0eb8d5
3 changed files with 20 additions and 2 deletions

View File

@ -44,7 +44,7 @@ fn cook(
)
.map_err(|err| format!("failed to build: {}", err))?;
package(&stage_dir, &target_dir, name, recipe, &auto_deps)
package(&stage_dir, &target_dir, name, recipe, &auto_deps, &None)
.map_err(|err| format!("failed to package: {}", err))?;
Ok(())

View File

@ -314,6 +314,7 @@ fn handle_cook(
&recipe.name,
&recipe.recipe,
&auto_deps,
logger,
)
.map_err(|err| anyhow!("failed to package: {:?}", err))?;

View File

@ -7,12 +7,28 @@ use crate::{
recipe::{BuildKind, Recipe},
};
macro_rules! log_warn {
($logger:expr, $($arg:tt)+) => {
use std::io::Write;
if $logger.is_some() {
let _ = $logger.as_ref().unwrap().1.try_clone().unwrap().write(
format!($($arg)+)
.as_bytes(),
);
} else {
eprintln!($($arg)+);
}
};
}
pub fn package(
stage_dir: &Path,
target_dir: &Path,
name: &PackageName,
recipe: &Recipe,
auto_deps: &BTreeSet<PackageName>,
logger: &Stdout,
) -> Result<(), String> {
if recipe.build.kind == BuildKind::None {
// metapackages don't have stage dir
@ -42,7 +58,8 @@ pub fn package(
if package_file.is_file() {
let stage_modified = modified_dir(stage_dir)?;
if modified(&package_file)? < stage_modified {
eprintln!(
log_warn!(
logger,
"DEBUG: '{}' newer than '{}'",
stage_dir.display(),
package_file.display()