mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-02-07 13:31:42 +02:00
The "deadcode", "structcheck", and "varcheck" linters are deprecated by golangci-lint. It is recommended by that project to use "unused" instead. The "unused" linter is already enabled, so this just removes the deprecated linters.
244 lines
9.1 KiB
YAML
244 lines
9.1 KiB
YAML
# See https://github.com/golangci/golangci-lint#config-file
|
|
run:
|
|
issues-exit-code: 1 #Default
|
|
tests: true #Default
|
|
|
|
linters:
|
|
# Disable everything by default so upgrades to not include new "default
|
|
# enabled" linters.
|
|
disable-all: true
|
|
# Specifically enable linters we want to use.
|
|
enable:
|
|
- depguard
|
|
- errcheck
|
|
- godot
|
|
- gofmt
|
|
- goimports
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- revive
|
|
- staticcheck
|
|
- typecheck
|
|
- unused
|
|
|
|
issues:
|
|
# Maximum issues count per one linter.
|
|
# Set to 0 to disable.
|
|
# Default: 50
|
|
# Setting to unlimited so the linter only is run once to debug all issues.
|
|
max-issues-per-linter: 0
|
|
# Maximum count of issues with the same text.
|
|
# Set to 0 to disable.
|
|
# Default: 3
|
|
# Setting to unlimited so the linter only is run once to debug all issues.
|
|
max-same-issues: 0
|
|
# Excluding configuration per-path, per-linter, per-text and per-source.
|
|
exclude-rules:
|
|
# TODO: Having appropriate comments for exported objects helps development,
|
|
# even for objects in internal packages. Appropriate comments for all
|
|
# exported objects should be added and this exclusion removed.
|
|
- path: '.*internal/.*'
|
|
text: "exported (method|function|type|const) (.+) should have comment or be unexported"
|
|
linters:
|
|
- revive
|
|
# Yes, they are, but it's okay in a test.
|
|
- path: _test\.go
|
|
text: "exported func.*returns unexported type.*which can be annoying to use"
|
|
linters:
|
|
- revive
|
|
# Example test functions should be treated like main.
|
|
- path: example.*_test\.go
|
|
text: "calls to (.+) only in main[(][)] or init[(][)] functions"
|
|
linters:
|
|
- revive
|
|
include:
|
|
# revive exported should have comment or be unexported.
|
|
- EXC0012
|
|
# revive package comment should be of the form ...
|
|
- EXC0013
|
|
|
|
linters-settings:
|
|
depguard:
|
|
# Check the list against standard lib.
|
|
# Default: false
|
|
include-go-root: true
|
|
# A list of packages for the list type specified.
|
|
# Default: []
|
|
packages:
|
|
- "crypto/md5"
|
|
- "crypto/sha1"
|
|
- "crypto/**/pkix"
|
|
ignore-file-rules:
|
|
- "**/*_test.go"
|
|
additional-guards:
|
|
# Do not allow testing packages in non-test files.
|
|
- list-type: denylist
|
|
include-go-root: true
|
|
packages:
|
|
- testing
|
|
- github.com/stretchr/testify
|
|
ignore-file-rules:
|
|
- "**/*_test.go"
|
|
- "**/*test/*.go"
|
|
- "**/internal/matchers/*.go"
|
|
godot:
|
|
exclude:
|
|
# Exclude sentence fragments for lists.
|
|
- '^[ ]*[-•]'
|
|
# Exclude sentences prefixing a list.
|
|
- ':$'
|
|
goimports:
|
|
local-prefixes: go.opentelemetry.io
|
|
misspell:
|
|
locale: US
|
|
ignore-words:
|
|
- cancelled
|
|
revive:
|
|
# Sets the default failure confidence.
|
|
# This means that linting errors with less than 0.8 confidence will be ignored.
|
|
# Default: 0.8
|
|
confidence: 0.01
|
|
rules:
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#blank-imports
|
|
- name: blank-imports
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bool-literal-in-expr
|
|
- name: bool-literal-in-expr
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#constant-logical-expr
|
|
- name: constant-logical-expr
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-as-argument
|
|
- name: context-as-argument
|
|
disabled: false
|
|
arguments:
|
|
allowTypesBefore: "*testing.T"
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#context-keys-type
|
|
- name: context-keys-type
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#deep-exit
|
|
- name: deep-exit
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#defer
|
|
- name: defer
|
|
disabled: false
|
|
arguments:
|
|
- ["call-chain", "loop"]
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#dot-imports
|
|
- name: dot-imports
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#duplicated-imports
|
|
- name: duplicated-imports
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#early-return
|
|
- name: early-return
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-block
|
|
- name: empty-block
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-lines
|
|
- name: empty-lines
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-naming
|
|
- name: error-naming
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-return
|
|
- name: error-return
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#error-strings
|
|
- name: error-strings
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#errorf
|
|
- name: errorf
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#exported
|
|
- name: exported
|
|
disabled: false
|
|
arguments:
|
|
- "sayRepetitiveInsteadOfStutters"
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#flag-parameter
|
|
- name: flag-parameter
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#identical-branches
|
|
- name: identical-branches
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#if-return
|
|
- name: if-return
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#increment-decrement
|
|
- name: increment-decrement
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#indent-error-flow
|
|
- name: indent-error-flow
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#import-shadowing
|
|
- name: import-shadowing
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#package-comments
|
|
- name: package-comments
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range
|
|
- name: range
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-in-closure
|
|
- name: range-val-in-closure
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#range-val-address
|
|
- name: range-val-address
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redefines-builtin-id
|
|
- name: redefines-builtin-id
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-format
|
|
- name: string-format
|
|
disabled: false
|
|
arguments:
|
|
- - panic
|
|
- '/^[^\n]*$/'
|
|
- must not contain line breaks
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#struct-tag
|
|
- name: struct-tag
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#superfluous-else
|
|
- name: superfluous-else
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#time-equal
|
|
- name: time-equal
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-naming
|
|
- name: var-naming
|
|
disabled: false
|
|
arguments:
|
|
- ["ID"] # AllowList
|
|
- ["Otel", "Aws", "Gcp"] # DenyList
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#var-declaration
|
|
- name: var-declaration
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unconditional-recursion
|
|
- name: unconditional-recursion
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-return
|
|
- name: unexported-return
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unhandled-error
|
|
- name: unhandled-error
|
|
disabled: false
|
|
arguments:
|
|
- "fmt.Fprint"
|
|
- "fmt.Fprintf"
|
|
- "fmt.Fprintln"
|
|
- "fmt.Print"
|
|
- "fmt.Printf"
|
|
- "fmt.Println"
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unnecessary-stmt
|
|
- name: unnecessary-stmt
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#useless-break
|
|
- name: useless-break
|
|
disabled: false
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#waitgroup-by-value
|
|
- name: waitgroup-by-value
|
|
disabled: false
|