mirror of
https://github.com/rclone/rclone.git
synced 2024-11-22 09:11:11 +08:00
build: use golangci-lint for code quality checks
This commit is contained in:
parent
98120bb864
commit
c1d9a1e174
27
.golangci.yml
Normal file
27
.golangci.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# golangci-lint configuration options
|
||||||
|
|
||||||
|
run:
|
||||||
|
build-tags:
|
||||||
|
- cmount
|
||||||
|
|
||||||
|
linters:
|
||||||
|
enable:
|
||||||
|
- deadcode
|
||||||
|
- errcheck
|
||||||
|
- goimports
|
||||||
|
- golint
|
||||||
|
- ineffassign
|
||||||
|
- structcheck
|
||||||
|
- varcheck
|
||||||
|
- govet
|
||||||
|
- unconvert
|
||||||
|
#- prealloc
|
||||||
|
#- maligned
|
||||||
|
disable-all: true
|
||||||
|
|
||||||
|
issues:
|
||||||
|
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
|
||||||
|
max-per-linter: 0
|
||||||
|
|
||||||
|
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
|
||||||
|
max-same-issues: 0
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
"Enable": [
|
|
||||||
"deadcode",
|
|
||||||
"errcheck",
|
|
||||||
"goimports",
|
|
||||||
"golint",
|
|
||||||
"ineffassign",
|
|
||||||
"structcheck",
|
|
||||||
"varcheck",
|
|
||||||
"vet"
|
|
||||||
],
|
|
||||||
"EnableGC": true,
|
|
||||||
"Vendor": true
|
|
||||||
}
|
|
24
Makefile
24
Makefile
|
@ -64,30 +64,20 @@ endif
|
||||||
# Do source code quality checks
|
# Do source code quality checks
|
||||||
check: rclone
|
check: rclone
|
||||||
ifdef FULL_TESTS
|
ifdef FULL_TESTS
|
||||||
go vet $(BUILDTAGS) -printfuncs Debugf,Infof,Logf,Errorf ./...
|
@# we still run go vet for -printfuncs which golangci-lint doesn't do yet
|
||||||
errcheck $(BUILDTAGS) ./...
|
@# see: https://github.com/golangci/golangci-lint/issues/204
|
||||||
find . -name \*.go | grep -v /vendor/ | xargs goimports -d | grep . ; test $$? -eq 1
|
@echo "-- START CODE QUALITY REPORT -------------------------------"
|
||||||
go list ./... | xargs -n1 golint | grep -E -v '(StorageUrl|CdnUrl|ApplicationCredentialId)' ; test $$? -eq 1
|
@go vet $(BUILDTAGS) -printfuncs Debugf,Infof,Logf,Errorf ./...
|
||||||
|
@golangci-lint run ./...
|
||||||
|
@echo "-- END CODE QUALITY REPORT ---------------------------------"
|
||||||
else
|
else
|
||||||
@echo Skipping source quality tests as version of go too old
|
@echo Skipping source quality tests as version of go too old
|
||||||
endif
|
endif
|
||||||
|
|
||||||
gometalinter_install:
|
|
||||||
go get -u github.com/alecthomas/gometalinter
|
|
||||||
gometalinter --install --update
|
|
||||||
|
|
||||||
# We aren't using gometalinter as the default linter yet because
|
|
||||||
# 1. it doesn't support build tags: https://github.com/alecthomas/gometalinter/issues/275
|
|
||||||
# 2. can't get -printfuncs working with the vet linter
|
|
||||||
gometalinter:
|
|
||||||
gometalinter ./...
|
|
||||||
|
|
||||||
# Get the build dependencies
|
# Get the build dependencies
|
||||||
build_dep:
|
build_dep:
|
||||||
ifdef FULL_TESTS
|
ifdef FULL_TESTS
|
||||||
go get -u github.com/kisielk/errcheck
|
go run bin/get-github-release.go -extract golangci-lint golangci/golangci-lint 'golangci-lint-.*-linux-amd64.tar.gz'
|
||||||
go get -u golang.org/x/tools/cmd/goimports
|
|
||||||
go get -u golang.org/x/lint/golint
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Get the release dependencies
|
# Get the release dependencies
|
||||||
|
|
Loading…
Reference in New Issue
Block a user