cmd/mbf: merge status and info commands
All checks were successful
Test / Create distribution (push) Successful in 58s
Test / Sandbox (push) Successful in 2m32s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m6s
Test / Sandbox (race detector) (push) Successful in 5m4s
Test / Hakurei (race detector) (push) Successful in 5m55s
Test / Flake checks (push) Successful in 1m24s

This is cleaner, and offers better integration with the work-in-progress report file.

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

View File

@@ -131,6 +131,10 @@ func main() {
)
}
{
var (
flagStatus bool
)
c.NewCommand(
"info",
"Display out-of-band metadata of an artifact",
@@ -152,7 +156,28 @@ func main() {
meta := rosa.GetMetadata(p)
fmt.Println("description : " + meta.Description)
if meta.Website != "" {
fmt.Println("website : " + strings.TrimSuffix(meta.Website, "/"))
fmt.Println("website : " +
strings.TrimSuffix(meta.Website, "/"))
}
if flagStatus {
const statusPrefix = "status : "
r, err := cache.OpenStatus(rosa.Std.Load(p))
if err != nil {
if errors.Is(err, os.ErrNotExist) {
fmt.Println(
statusPrefix + name + " was never cured",
)
} else {
return err
}
} else {
fmt.Print(statusPrefix)
_, err = io.Copy(os.Stdout, r)
if err = errors.Join(err, r.Close()); err != nil {
return err
}
}
}
if i != len(args)-1 {
@@ -162,7 +187,13 @@ func main() {
}
return nil
},
).
Flag(
&flagStatus,
"status", command.BoolFlag(false),
"Display cure status if available",
)
}
c.NewCommand("updates", command.UsageInternal, func([]string) error {
var n int
@@ -323,30 +354,6 @@ func main() {
)
}
c.NewCommand(
"status",
"Display the status file of an artifact",
func(args []string) error {
if len(args) != 1 {
return errors.New("status requires 1 argument")
}
if p, ok := rosa.ResolveName(args[0]); !ok {
return fmt.Errorf("unknown artifact %q", args[0])
} else {
r, err := cache.OpenStatus(rosa.Std.Load(p))
if err != nil {
if errors.Is(err, os.ErrNotExist) {
return errors.New(args[0] + " was never cured")
}
return err
}
_, err = io.Copy(os.Stdout, r)
return errors.Join(err, r.Close())
}
},
)
{
var (
flagNet bool