gitlab.com/jfprevost/gitlab-runner-notlscheck@v11.11.4+incompatible/common/command.go (about)

     1  package common
     2  
     3  import (
     4  	"github.com/sirupsen/logrus"
     5  	"github.com/urfave/cli"
     6  	"gitlab.com/ayufan/golang-cli-helpers"
     7  )
     8  
     9  var commands []cli.Command
    10  
    11  type Commander interface {
    12  	Execute(c *cli.Context)
    13  }
    14  
    15  func RegisterCommand(command cli.Command) {
    16  	logrus.Debugln("Registering", command.Name, "command...")
    17  	commands = append(commands, command)
    18  }
    19  
    20  func RegisterCommand2(name, usage string, data Commander, flags ...cli.Flag) {
    21  	RegisterCommand(cli.Command{
    22  		Name:   name,
    23  		Usage:  usage,
    24  		Action: data.Execute,
    25  		Flags:  append(flags, clihelpers.GetFlagsFromStruct(data)...),
    26  	})
    27  }
    28  
    29  func GetCommands() []cli.Command {
    30  	return commands
    31  }