cmd/mbf: info accept multiple names
All checks were successful
Test / Create distribution (push) Successful in 59s
Test / Sandbox (push) Successful in 2m33s
Test / Hakurei (push) Successful in 3m38s
Test / ShareFS (push) Successful in 3m47s
Test / Sandbox (race detector) (push) Successful in 4m59s
Test / Hakurei (race detector) (push) Successful in 5m54s
Test / Flake checks (push) Successful in 1m26s

This also improves formatting for use with multiple info blocks.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-03-06 23:02:06 +09:00
parent eb1a3918a8
commit 5ea4dae4b8

View File

@@ -135,30 +135,32 @@ func main() {
"info", "info",
"Display out-of-band metadata of an artifact", "Display out-of-band metadata of an artifact",
func(args []string) error { func(args []string) error {
if len(args) != 1 { if len(args) == 0 {
return errors.New("info requires 1 argument") return errors.New("info requires at least 1 argument")
} }
if p, ok := rosa.ResolveName(args[0]); !ok {
return fmt.Errorf("unknown artifact %q", args[0])
} else {
segments := make([]string, 0, 3)
for i, name := range args {
if p, ok := rosa.ResolveName(name); !ok {
return fmt.Errorf("unknown artifact %q", name)
} else {
var suffix string
if version := rosa.Std.Version(p); version != rosa.Unversioned { if version := rosa.Std.Version(p); version != rosa.Unversioned {
segments = append(segments, "version:\n\t"+version) suffix += "-" + version
} }
fmt.Println("name : " + name + suffix)
meta := rosa.GetMetadata(p) meta := rosa.GetMetadata(p)
segments = append(segments, "description:\n\t"+meta.Description) fmt.Println("description : " + meta.Description)
if meta.Website != "" { if meta.Website != "" {
fmt.Println("website : " + strings.TrimSuffix(meta.Website, "/"))
segments = append(segments,
"website:\n\t"+strings.TrimSuffix(meta.Website, "/"),
)
} }
fmt.Println(strings.Join(segments, "\n\n")) if i != len(args)-1 {
fmt.Println()
}
}
}
return nil return nil
}
}, },
) )