github.com/jdhenke/godel@v0.0.0-20161213181855-abeb3861bf0d/apps/okgo/generated_src/amalgomatedchecks.go (about)

     1  // generated by amalgomate; DO NOT EDIT
     2  package amalgomatedchecks
     3  
     4  import (
     5  	"fmt"
     6  	"sort"
     7  
     8  	golint "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/golang/lint/golint"
     9  	ineffassign "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/gordonklaus/ineffassign"
    10  	errcheck "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/kisielk/errcheck"
    11  	unconvert "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/mdempsky/unconvert"
    12  	govet "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/nmiyake/govet"
    13  	varcheck "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/opennota/check/cmd/varcheck"
    14  	compiles "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/compiles"
    15  	extimport "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/extimport"
    16  	novendor "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/novendor"
    17  	outparamcheck "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/outparamcheck/main/outparamcheck"
    18  	deadcode "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/remyoudompheng/go-misc/deadcode"
    19  )
    20  
    21  var programs = map[string]func(){"compiles": func() {
    22  	compiles.AmalgomatedMain()
    23  }, "deadcode": func() {
    24  	deadcode.AmalgomatedMain()
    25  }, "errcheck": func() {
    26  	errcheck.AmalgomatedMain()
    27  }, "extimport": func() {
    28  	extimport.AmalgomatedMain()
    29  }, "golint": func() {
    30  	golint.AmalgomatedMain()
    31  }, "govet": func() {
    32  	govet.AmalgomatedMain()
    33  }, "ineffassign": func() {
    34  	ineffassign.AmalgomatedMain()
    35  }, "novendor": func() {
    36  	novendor.AmalgomatedMain()
    37  }, "outparamcheck": func() {
    38  	outparamcheck.AmalgomatedMain()
    39  }, "unconvert": func() {
    40  	unconvert.AmalgomatedMain()
    41  }, "varcheck": func() {
    42  	varcheck.AmalgomatedMain()
    43  },
    44  }
    45  
    46  func Instance() Amalgomated {
    47  	return &amalgomated{}
    48  }
    49  
    50  type Amalgomated interface {
    51  	Run(cmd string)
    52  	Cmds() []string
    53  }
    54  
    55  type amalgomated struct{}
    56  
    57  func (a *amalgomated) Run(cmd string) {
    58  	if _, ok := programs[cmd]; !ok {
    59  		panic(fmt.Sprintf("Unknown command: \"%v\". Valid values: %v", cmd, a.Cmds()))
    60  	}
    61  	programs[cmd]()
    62  }
    63  
    64  func (a *amalgomated) Cmds() []string {
    65  	var cmds []string
    66  	for key := range programs {
    67  		cmds = append(cmds, key)
    68  	}
    69  	sort.Strings(cmds)
    70  	return cmds
    71  }