...
1 package cmd
2
3 import (
4 "context"
5 "fmt"
6 "os"
7
8 "edge-infra.dev/pkg/f8n/warehouse/release/cmd/build"
9 "edge-infra.dev/pkg/f8n/warehouse/release/cmd/lock"
10 "edge-infra.dev/pkg/f8n/warehouse/release/cmd/render"
11 "edge-infra.dev/pkg/lib/cli/sink"
12 )
13
14 func New() (*sink.Command, error) {
15 cmd := &sink.Command{
16 Use: "release [command] [flags]",
17 Short: "release is a tool to build Release Artifacts from collections of warehouse pallets",
18 Commands: []*sink.Command{
19 build.New(),
20 render.New(),
21 lock.New(),
22 },
23 }
24
25 return cmd, nil
26 }
27
28 func Run(ctx context.Context) error {
29 cmd, err := New()
30 if err != nil {
31 fmt.Fprintln(os.Stderr, "error: failed to instantiate CLI: ", err)
32 return err
33 }
34 return cmd.ParseAndRun(ctx, os.Args[1:])
35 }
36
View as plain text