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

     1  package main
     2  
     3  import (
     4  	"get.porter.sh/porter/pkg/exec"
     5  	"get.porter.sh/porter/pkg/porter/version"
     6  	"github.com/spf13/cobra"
     7  )
     8  
     9  func buildVersionCommand(m *exec.Mixin) *cobra.Command {
    10  	opts := version.Options{}
    11  
    12  	cmd := &cobra.Command{
    13  		Use:   "version",
    14  		Short: "Print the mixin version",
    15  		PreRunE: func(cmd *cobra.Command, args []string) error {
    16  			return opts.Validate()
    17  		},
    18  		RunE: func(cmd *cobra.Command, args []string) error {
    19  			return m.PrintVersion(opts)
    20  		},
    21  	}
    22  
    23  	f := cmd.Flags()
    24  	f.StringVarP(&opts.RawFormat, "output", "o", string(version.DefaultVersionFormat),
    25  		"Specify an output format.  Allowed values: json, plaintext")
    26  
    27  	return cmd
    28  }