0071a06c8b
gometalinter has been deprecated, with golangci-lint as its spiritual and recommended successor. Here we switch to using it with an equivalent configuration, albeit with newer versions of some linters. To maintain compatibility with existing settings, we have a couple of things disabled here, specifically: - tests We have a lot of unused code in our tests that choke deadcode. We should attempt to clean these up soon so that we can lint our testcode. - govet.check-shadowing = false This breaks on redefining `err` which we do all over the nomad codebase.
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
run:
|
|
# timeout for analysis, e.g. 30s, 5m, default is 1m
|
|
deadline: 10m
|
|
|
|
tests: false
|
|
|
|
# which dirs to skip: they won't be analyzed;
|
|
# can use regexp here: generated.*, regexp is applied on full path;
|
|
# default value is empty list, but next dirs are always skipped independently
|
|
# from this option's value:
|
|
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
|
|
skip-dirs:
|
|
- ui
|
|
|
|
# which files to skip: they will be analyzed, but issues from them
|
|
# won't be reported. Default value is empty list, but there is
|
|
# no need to include all autogenerated files, we confidently recognize
|
|
# autogenerated files. If it's not please let us know.
|
|
skip-files:
|
|
- ".*\\.generated\\.go$"
|
|
- ".*bindata_assetfs\\.go$"
|
|
|
|
# output configuration options
|
|
output:
|
|
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
|
|
format: colored-line-number
|
|
|
|
# print lines of code with issue, default is true
|
|
print-issued-lines: true
|
|
|
|
# print linter name in the end of issue text, default is true
|
|
print-linter-name: true
|
|
|
|
# all available settings of specific linters
|
|
linters-settings:
|
|
errcheck:
|
|
# report about not checking of errors in type assetions: `a := b.(MyStruct)`;
|
|
# default is false: such cases aren't reported by default.
|
|
check-type-assertions: false
|
|
|
|
# [deprecated] comma-separated list of pairs of the form pkg:regex
|
|
# the regex is used to ignore names within pkg. (default "fmt:.*").
|
|
# see https://github.com/kisielk/errcheck#the-deprecated-method for details
|
|
ignore: fmt:.*,io/ioutil:^Read.*
|
|
|
|
# path to a file containing a list of functions to exclude from checking
|
|
# see https://github.com/kisielk/errcheck#excluding-functions for details
|
|
# exclude: /path/to/file.txt
|
|
govet:
|
|
# report about shadowed variables
|
|
check-shadowing: false
|
|
gofmt:
|
|
# simplify code: gofmt with `-s` option, true by default
|
|
simplify: true
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- goimports
|
|
- misspell
|
|
- govet
|
|
- deadcode
|
|
- varcheck
|
|
- ineffassign
|
|
- structcheck
|
|
- unconvert
|
|
- gofmt
|
|
# Stretch Goal
|
|
#- maligned
|
|
fast: false
|
|
|