get.porter.sh/porter@v1.3.0/cmd/porter/version.go (about)

     1  package main
     2  
     3  import (
     4  	"get.porter.sh/porter/pkg/porter"
     5  	"get.porter.sh/porter/pkg/porter/version"
     6  	"github.com/spf13/cobra"
     7  )
     8  
     9  func buildVersionCommand(p *porter.Porter) *cobra.Command {
    10  	opts := porter.VersionOpts{}
    11  	cmd := &cobra.Command{
    12  		Use:   "version",
    13  		Short: "Print the application version",
    14  		PreRunE: func(cmd *cobra.Command, args []string) error {
    15  			return opts.Validate()
    16  		},
    17  		RunE: func(cmd *cobra.Command, args []string) error {
    18  			return p.PrintVersion(cmd.Context(), opts)
    19  		},
    20  	}
    21  	cmd.Annotations = map[string]string{
    22  		"group":    "meta",
    23  		skipConfig: "",
    24  	}
    25  
    26  	f := cmd.Flags()
    27  	f.StringVarP(&opts.RawFormat, "output", "o", string(version.DefaultVersionFormat),
    28  		"Specify an output format.  Allowed values: json, plaintext")
    29  	f.BoolVarP(&opts.System, "system", "s", false, "Print system debug information")
    30  
    31  	return cmd
    32  }