aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Grunert <sgrunert@suse.com>2019-03-22 09:10:41 +0100
committerSascha Grunert <sgrunert@suse.com>2019-04-04 09:06:32 +0200
commit42830ab711aadb69e344a58627c6c7cfee45ddc9 (patch)
treedc87c9b7634d01d5d933d3f669972194440e1e01
parente28d30c93b2085379134cbb5408d119d71e8d7d3 (diff)
downloadpodman-42830ab711aadb69e344a58627c6c7cfee45ddc9.tar.gz
podman-42830ab711aadb69e344a58627c6c7cfee45ddc9.tar.bz2
podman-42830ab711aadb69e344a58627c6c7cfee45ddc9.zip
Update lint to use golangci-lint
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
-rw-r--r--.golangci.yml35
-rwxr-xr-x.tool/lint48
-rw-r--r--Makefile16
3 files changed, 41 insertions, 58 deletions
diff --git a/.golangci.yml b/.golangci.yml
new file mode 100644
index 000000000..f0ccd5a77
--- /dev/null
+++ b/.golangci.yml
@@ -0,0 +1,35 @@
+---
+run:
+ concurrency: 6
+ deadline: 5m
+linters:
+ disable-all: true
+ enable:
+ - depguard
+ - gofmt
+ - typecheck
+ # - deadcode
+ # - dupl
+ # - errcheck
+ # - gochecknoglobals
+ # - gochecknoinits
+ # - goconst
+ # - gocritic
+ # - gocyclo
+ # - goimports
+ # - golint
+ # - gosec
+ # - govet
+ # - ineffassign
+ # - interfacer
+ # - lll
+ # - maligned
+ # - misspell
+ # - nakedret
+ # - prealloc
+ # - scopelint
+ # - staticcheck
+ # - structcheck
+ # - unconvert
+ # - unparam
+ # - varcheck
diff --git a/.tool/lint b/.tool/lint
deleted file mode 100755
index f7bf81c1d..000000000
--- a/.tool/lint
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# Create the linter path for use later
-LINTER=${GOPATH}/bin/gometalinter
-
-# Make sure gometalinter is installed
-if [ ! -f ${LINTER} ]; then
- echo >&2 "gometalinter must be installed. Please run 'make install.tools' and try again"
- exit 1
-fi
-
-PKGS=$(find . -type d -not -path . -a -not -iwholename '*.git*' -a -not -iname '.tool' -a -not -iwholename '*vendor*' -a -not -iname 'hack' -a -not -iwholename '*.artifacts*' -a -not -iwholename '*contrib*' -a -not -iwholename '*test*' -a -not -iwholename '*logo*' -a -not -iwholename '*conmon*' -a -not -iwholename '*completions*' -a -not -iwholename '*docs*' -a -not -iwholename '*pause*' -a -not -iwholename './_output*' -a -not -iwholename '*ioprojectatomicpodman.go')
-
-echo $PKGS
-
-# Execute the linter
-${LINTER} \
- --concurrency=4\
- --enable-gc\
- --vendored-linters\
- --deadline=600s --disable-all\
- --enable=deadcode\
- --enable=errcheck\
- --enable=goconst\
- --enable=gofmt\
- --enable=golint\
- --enable=ineffassign\
- --enable=megacheck\
- --enable=misspell\
- --enable=structcheck\
- --enable=varcheck\
- --enable=vet\
- --enable=vetshadow\
- --exclude='error return value not checked.*\(errcheck\)$'\
- --exclude='declaration of.*err.*shadows declaration.*\(vetshadow\)$'\
- --exclude='.*_test\.go:.*error return value not checked.*\(errcheck\)$'\
- --exclude='duplicate of.*_test.go.*\(dupl\)$'\
- --exclude='cmd\/client\/.*\.go.*\(dupl\)$'\
- --exclude='libpod\/.*_easyjson.go:.*'\
- --exclude='.* other occurrence\(s\) of "(container|host|tmpfs|unknown)" found in: .*\(goconst\)$'\
- --exclude='vendor\/.*'\
- --exclude='podman\/.*'\
- --exclude='server\/seccomp\/.*\.go.*$'\
- ${PKGS[@]}
diff --git a/Makefile b/Makefile
index 1f4a7f6e7..86e3bfba0 100644
--- a/Makefile
+++ b/Makefile
@@ -98,8 +98,7 @@ endif
touch $@
lint: .gopathok varlink_generate ## Execute the source code linter
- @echo "checking lint"
- @./.tool/lint
+ golangci-lint run --build-tags="$(BUILDTAGS)"
gofmt: ## Verify the source code gofmt
find . -name '*.go' ! -path './vendor/*' -exec gofmt -s -w {} \+
@@ -280,7 +279,7 @@ uninstall:
.PHONY: install.tools
-install.tools: .install.gitvalidation .install.gometalinter .install.md2man .install.ginkgo ## Install needed tools
+install.tools: .install.gitvalidation .install.golangci-lint .install.md2man .install.ginkgo ## Install needed tools
.install.vndr: .gopathok
$(GO) get -u github.com/LK4D4/vndr
@@ -295,13 +294,10 @@ install.tools: .install.gitvalidation .install.gometalinter .install.md2man .ins
$(GO) get -u github.com/vbatts/git-validation; \
fi
-.install.gometalinter: .gopathok
- if [ ! -x "$(GOBIN)/gometalinter" ]; then \
- $(GO) get -u github.com/alecthomas/gometalinter; \
- cd $(FIRST_GOPATH)/src/github.com/alecthomas/gometalinter; \
- git checkout e8d801238da6f0dfd14078d68f9b53fa50a7eeb5; \
- $(GO) install github.com/alecthomas/gometalinter; \
- $(GOBIN)/gometalinter --install; \
+.install.golangci-lint: .gopathok
+ if [ ! -x "$(GOBIN)/golangci-lint" ]; then \
+ curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh |\
+ sh -s -- -b $(GOBIN) v1.15.0 ;\
fi
.install.md2man: .gopathok