diff --git a/.golangci.yml b/.golangci.yml index 80637358b..4ef93f572 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -24,6 +24,15 @@ linters: - unconvert - varcheck - gocritic + - gofumpt + +linters-settings: + gofumpt: + lang-version: "1.17" + + # Choose whether or not to use the extra rules that are disabled + # by default + extra-rules: false issues: exclude-use-default: false diff --git a/Makefile b/Makefile index 2d41c522a..e3979f76c 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,6 @@ help: ## print this help getdeps: ## fetch necessary dependencies @mkdir -p ${GOPATH}/bin @echo "Installing golangci-lint" && curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin v1.43.0 - @echo "Installing gofumpt" && go install mvdan.cc/gofumpt@latest @echo "Installing msgp" && go install -v github.com/tinylib/msgp@v1.1.7-0.20211026165309-e818a1881b0e @echo "Installing stringer" && go install -v golang.org/x/tools/cmd/stringer@latest @@ -37,7 +36,6 @@ lint: ## runs golangci-lint suite of linters @echo "Running $@ check" @${GOPATH}/bin/golangci-lint cache clean @${GOPATH}/bin/golangci-lint run --build-tags kqueue --timeout=10m --config ./.golangci.yml - @${GOPATH}/bin/gofumpt -l . check: test test: verifiers build ## builds minio, runs linters, tests diff --git a/cmd/bucket-targets.go b/cmd/bucket-targets.go index ade109c9b..6171ddee2 100644 --- a/cmd/bucket-targets.go +++ b/cmd/bucket-targets.go @@ -332,8 +332,10 @@ func (sys *BucketTargetSys) set(bucket BucketInfo, meta BucketMetadata) { } // getRemoteTargetInstanceTransport contains a singleton roundtripper. -var getRemoteTargetInstanceTransport http.RoundTripper -var getRemoteTargetInstanceTransportOnce sync.Once +var ( + getRemoteTargetInstanceTransport http.RoundTripper + getRemoteTargetInstanceTransportOnce sync.Once +) // Returns a minio-go Client configured to access remote host described in replication target config. func (sys *BucketTargetSys) getRemoteTargetClient(tcfg *madmin.BucketTarget) (*TargetClient, error) { diff --git a/cmd/test-utils_test.go b/cmd/test-utils_test.go index fd8d29028..e0e541abb 100644 --- a/cmd/test-utils_test.go +++ b/cmd/test-utils_test.go @@ -256,8 +256,10 @@ const ( // Random number state. // We generate random temporary file names so that there's a good // chance the file doesn't exist yet. -var randN uint32 -var randmu sync.Mutex +var ( + randN uint32 + randmu sync.Mutex +) // Temp files created in default Tmp dir var globalTestTmpDir = os.TempDir() diff --git a/cmd/utils.go b/cmd/utils.go index dcc21eb0a..12d994fbb 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -406,8 +406,10 @@ type minioProfiler interface { } // Global profiler to be used by service go-routine. -var globalProfiler map[string]minioProfiler -var globalProfilerMu sync.Mutex +var ( + globalProfiler map[string]minioProfiler + globalProfilerMu sync.Mutex +) // dump the request into a string in JSON format. func dumpRequest(r *http.Request) string { diff --git a/internal/logger/targets.go b/internal/logger/targets.go index 60c10b599..1e9fc069e 100644 --- a/internal/logger/targets.go +++ b/internal/logger/targets.go @@ -32,14 +32,16 @@ type Target interface { Send(entry interface{}, errKind string) error } -// swapMu must be held while reading slice info or swapping targets or auditTargets. -var swapMu sync.Mutex +var ( + // swapMu must be held while reading slice info or swapping targets or auditTargets. + swapMu sync.Mutex -// targets is the set of enabled loggers. -// Must be immutable at all times. -// Can be swapped to another while holding swapMu -var targets = []Target{} -var nTargets int32 // atomic count of len(targets) + // targets is the set of enabled loggers. + // Must be immutable at all times. + // Can be swapped to another while holding swapMu + targets = []Target{} + nTargets int32 // atomic count of len(targets) +) // Targets returns active targets. // Returned slice may not be modified in any way. @@ -70,8 +72,10 @@ func AuditTargets() []Target { // auditTargets is the list of enabled audit loggers // Must be immutable at all times. // Can be swapped to another while holding swapMu -var auditTargets = []Target{} -var nAuditTargets int32 // atomic count of len(auditTargets) +var ( + auditTargets = []Target{} + nAuditTargets int32 // atomic count of len(auditTargets) +) // AddAuditTarget adds a new audit logger target to the // list of enabled loggers