github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/cli/main/cli.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/evergreen-ci/evergreen/cli"
     7  	"github.com/jessevdk/go-flags"
     8  )
     9  
    10  func main() {
    11  	opts := cli.Options{}
    12  	var parser = flags.NewParser(&opts, flags.Default)
    13  	parser.AddCommand("get-update", "fetch the latest version of this binary", "", &cli.GetUpdateCommand{GlobalOpts: &opts})
    14  	parser.AddCommand("version", "display version information", "", &cli.VersionCommand{})
    15  	parser.AddCommand("set-module", "update or add module to an existing patch", "", &cli.SetModuleCommand{GlobalOpts: &opts})
    16  	parser.AddCommand("patch", "submit a patch", "",
    17  		&cli.PatchCommand{PatchCommandParams: cli.PatchCommandParams{GlobalOpts: &opts}})
    18  	parser.AddCommand("patch-file", "submit a patch using a diff file", "",
    19  		&cli.PatchFileCommand{PatchCommandParams: cli.PatchCommandParams{GlobalOpts: &opts}})
    20  	parser.AddCommand("list-patches", "show existing patches", "", &cli.ListPatchesCommand{GlobalOpts: &opts})
    21  	parser.AddCommand("rm-module", "remove a module from an existing patch", "", &cli.RemoveModuleCommand{GlobalOpts: &opts})
    22  	parser.AddCommand("cancel-patch", "cancel an existing patch", "", &cli.CancelPatchCommand{GlobalOpts: &opts})
    23  	parser.AddCommand("finalize-patch", "finalize an existing patch", "", &cli.FinalizePatchCommand{GlobalOpts: &opts})
    24  	parser.AddCommand("list", "list available projects, tasks, or variants", "", &cli.ListCommand{GlobalOpts: &opts})
    25  	parser.AddCommand("last-green", "return a project's most recent successful version for given variants", "", &cli.LastGreenCommand{GlobalOpts: &opts})
    26  	parser.AddCommand("validate", "validate a config file", "", &cli.ValidateCommand{GlobalOpts: &opts})
    27  	parser.AddCommand("evaluate", "display a project file's evaluated and expanded form", "", &cli.EvaluateCommand{})
    28  	parser.AddCommand("fetch", "fetch data associated with a task", "", &cli.FetchCommand{GlobalOpts: &opts})
    29  	parser.AddCommand("export", "export statistics as csv or json for given options", "", &cli.ExportCommand{GlobalOpts: &opts})
    30  	parser.AddCommand("test-history", "retrieve test history for a given project", "", &cli.TestHistoryCommand{GlobalOpts: &opts})
    31  
    32  	_, err := parser.Parse()
    33  	if err != nil {
    34  		os.Exit(1)
    35  	}
    36  }