Etapa G Fase 1: extractor de workspaces Rust — -p <pkg> auto en workspaces virtuales
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>
This commit is contained in:
Generated
+1
@@ -524,6 +524,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"hammer-core",
|
||||
"hex",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
|
||||
Reference in New Issue
Block a user