Sube el yield Rust a casi-todo el ecosistema CLI moderno (sd/fd/… usan workspace virtual: root sólo agrupa, el bin vive en un sub-paquete ≠ pname). Antes exigía `-p` manual; ahora el lab lo resuelve solo. - hammer-build/lib.rs: cargo_root_is_virtual (root con [workspace] sin [package]) + resolve_cargo_bin_package (lee los members vía `cargo metadata` —fuente autoritativa: globs, [[bin]], src/bin/*, nested— y devuelve el paquete que expone el bin) + inject_cargo_package_selector (si virtual y flags piden --bin X sin -p, antepone `-p <pkg>`). Determinista ⇒ reproducible; el hash usa los flags ORIGINALES, el -p es resolución interna. Crate suelto / ripgrep: intactos (no virtual). serde_json a deps de hammer-build. - VALIDADO REAL: sd (workspace virtual, bin en `sd-cli`≠pname) ahora BUILDEA SOLO (sd 1.0.0), sin tocar la receta (flags quedan --bin sd, el lab resuelve -p sd-cli). 31 suites verde. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
22 lines
537 B
TOML
22 lines
537 B
TOML
[package]
|
|
name = "hammer-build"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
description = "El laboratorio de hammer: sandbox de build (bubblewrap + zig cc) e hidratación."
|
|
|
|
[dependencies]
|
|
hammer-core.workspace = true
|
|
anyhow.workspace = true
|
|
thiserror.workspace = true
|
|
tracing.workspace = true
|
|
sha2.workspace = true
|
|
hex.workspace = true
|
|
serde_json.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
tracing-subscriber = { workspace = true }
|