mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	The INI package has many bugs and quirks, and in fact it is unmaintained. This PR is the first step for the INI package refactoring: * Use Gitea's "config_provider" to provide INI access * Deprecate the INI package by golangci.yml rule
		
			
				
	
	
		
			132 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
linters:
 | 
						|
  enable:
 | 
						|
    - bidichk
 | 
						|
    # - deadcode # deprecated - https://github.com/golangci/golangci-lint/issues/1841
 | 
						|
    - depguard
 | 
						|
    - dupl
 | 
						|
    - errcheck
 | 
						|
    - forbidigo
 | 
						|
    - gocritic
 | 
						|
    # - gocyclo # The cyclomatic complexety of a lot of functions is too high, we should refactor those another time.
 | 
						|
    - gofmt
 | 
						|
    - gofumpt
 | 
						|
    - gosimple
 | 
						|
    - govet
 | 
						|
    - ineffassign
 | 
						|
    - nakedret
 | 
						|
    - nolintlint
 | 
						|
    - revive
 | 
						|
    - staticcheck
 | 
						|
    # - structcheck # deprecated - https://github.com/golangci/golangci-lint/issues/1841
 | 
						|
    - stylecheck
 | 
						|
    - typecheck
 | 
						|
    - unconvert
 | 
						|
    - unused
 | 
						|
    # - varcheck # deprecated - https://github.com/golangci/golangci-lint/issues/1841
 | 
						|
    - wastedassign
 | 
						|
  enable-all: false
 | 
						|
  disable-all: true
 | 
						|
  fast: false
 | 
						|
 | 
						|
run:
 | 
						|
  go: "1.20"
 | 
						|
  timeout: 10m
 | 
						|
  skip-dirs:
 | 
						|
    - node_modules
 | 
						|
    - public
 | 
						|
    - web_src
 | 
						|
 | 
						|
linters-settings:
 | 
						|
  stylecheck:
 | 
						|
    checks: ["all", "-ST1005", "-ST1003"]
 | 
						|
  nakedret:
 | 
						|
    max-func-lines: 0
 | 
						|
  gocritic:
 | 
						|
    disabled-checks:
 | 
						|
      - ifElseChain
 | 
						|
      - singleCaseSwitch # Every time this occurred in the code, there  was no other way.
 | 
						|
  revive:
 | 
						|
    ignore-generated-header: false
 | 
						|
    severity: warning
 | 
						|
    confidence: 0.8
 | 
						|
    errorCode: 1
 | 
						|
    warningCode: 1
 | 
						|
    rules:
 | 
						|
      - name: blank-imports
 | 
						|
      - name: context-as-argument
 | 
						|
      - name: context-keys-type
 | 
						|
      - name: dot-imports
 | 
						|
      - name: error-return
 | 
						|
      - name: error-strings
 | 
						|
      - name: error-naming
 | 
						|
      - name: exported
 | 
						|
      - name: if-return
 | 
						|
      - name: increment-decrement
 | 
						|
      - name: var-naming
 | 
						|
      - name: var-declaration
 | 
						|
      - name: package-comments
 | 
						|
      - name: range
 | 
						|
      - name: receiver-naming
 | 
						|
      - name: time-naming
 | 
						|
      - name: unexported-return
 | 
						|
      - name: indent-error-flow
 | 
						|
      - name: errorf
 | 
						|
      - name: duplicated-imports
 | 
						|
      - name: modifies-value-receiver
 | 
						|
  gofumpt:
 | 
						|
    extra-rules: true
 | 
						|
    lang-version: "1.20"
 | 
						|
  depguard:
 | 
						|
    list-type: denylist
 | 
						|
    # Check the list against standard lib.
 | 
						|
    include-go-root: true
 | 
						|
    packages-with-error-message:
 | 
						|
      - encoding/json: "use gitea's modules/json instead of encoding/json"
 | 
						|
      - github.com/unknwon/com: "use gitea's util and replacements"
 | 
						|
      - io/ioutil: "use os or io instead"
 | 
						|
      - golang.org/x/exp: "it's experimental and unreliable."
 | 
						|
      - code.gitea.io/gitea/modules/git/internal: "do not use the internal package, use AddXxx function instead"
 | 
						|
      - gopkg.in/ini.v1: "do not use the ini package, use gitea's config system instead"
 | 
						|
 | 
						|
issues:
 | 
						|
  max-issues-per-linter: 0
 | 
						|
  max-same-issues: 0
 | 
						|
  exclude-rules:
 | 
						|
    # Exclude some linters from running on tests files.
 | 
						|
    - path: _test\.go
 | 
						|
      linters:
 | 
						|
        - gocyclo
 | 
						|
        - errcheck
 | 
						|
        - dupl
 | 
						|
        - gosec
 | 
						|
        - unparam
 | 
						|
        - staticcheck
 | 
						|
    - path: models/migrations/v
 | 
						|
      linters:
 | 
						|
        - gocyclo
 | 
						|
        - errcheck
 | 
						|
        - dupl
 | 
						|
        - gosec
 | 
						|
    - path: cmd
 | 
						|
      linters:
 | 
						|
        - forbidigo
 | 
						|
    - linters:
 | 
						|
        - dupl
 | 
						|
      text: "webhook"
 | 
						|
    - linters:
 | 
						|
        - gocritic
 | 
						|
      text: "`ID' should not be capitalized"
 | 
						|
    - linters:
 | 
						|
        - unused
 | 
						|
        - deadcode
 | 
						|
      text: "swagger"
 | 
						|
    - linters:
 | 
						|
        - staticcheck
 | 
						|
      text: "argument x is overwritten before first use"
 | 
						|
    - text: "commentFormatting: put a space between `//` and comment text"
 | 
						|
      linters:
 | 
						|
        - gocritic
 | 
						|
    - text: "exitAfterDefer:"
 | 
						|
      linters:
 | 
						|
        - gocritic
 |