...

Source file src/edge-infra.dev/pkg/f8n/warehouse/release/cmd/release.go

Documentation: edge-infra.dev/pkg/f8n/warehouse/release/cmd

     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