github.com/jonsyu1/godel@v0.0.0-20171017211503-64567a0cf169/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  	importalias "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/importalias"
    17  	nobadfuncs "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/nobadfuncs"
    18  	novendor "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/novendor"
    19  	outparamcheck "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/palantir/checks/outparamcheck"
    20  	deadcode "github.com/palantir/godel/apps/okgo/generated_src/internal/github.com/remyoudompheng/go-misc/deadcode"
    21  )
    22  
    23  var programs = map[string]func(){"compiles": func() {
    24  	compiles.AmalgomatedMain()
    25  }, "deadcode": func() {
    26  	deadcode.AmalgomatedMain()
    27  }, "errcheck": func() {
    28  	errcheck.AmalgomatedMain()
    29  }, "extimport": func() {
    30  	extimport.AmalgomatedMain()
    31  }, "golint": func() {
    32  	golint.AmalgomatedMain()
    33  }, "govet": func() {
    34  	govet.AmalgomatedMain()
    35  }, "importalias": func() {
    36  	importalias.AmalgomatedMain()
    37  }, "ineffassign": func() {
    38  	ineffassign.AmalgomatedMain()
    39  }, "nobadfuncs": func() {
    40  	nobadfuncs.AmalgomatedMain()
    41  }, "novendor": func() {
    42  	novendor.AmalgomatedMain()
    43  }, "outparamcheck": func() {
    44  	outparamcheck.AmalgomatedMain()
    45  }, "unconvert": func() {
    46  	unconvert.AmalgomatedMain()
    47  }, "varcheck": func() {
    48  	varcheck.AmalgomatedMain()
    49  },
    50  }
    51  
    52  func Instance() Amalgomated {
    53  	return &amalgomated{}
    54  }
    55  
    56  type Amalgomated interface {
    57  	Run(cmd string)
    58  	Cmds() []string
    59  }
    60  
    61  type amalgomated struct{}
    62  
    63  func (a *amalgomated) Run(cmd string) {
    64  	if _, ok := programs[cmd]; !ok {
    65  		panic(fmt.Sprintf("Unknown command: \"%v\". Valid values: %v", cmd, a.Cmds()))
    66  	}
    67  	programs[cmd]()
    68  }
    69  
    70  func (a *amalgomated) Cmds() []string {
    71  	var cmds []string
    72  	for key := range programs {
    73  		cmds = append(cmds, key)
    74  	}
    75  	sort.Strings(cmds)
    76  	return cmds
    77  }