#Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
#
#Licensed under the Apache License, Version 2.0 (the "License");
#you may not use this file except in compliance with the License.
#You may obtain a copy of the License at
#
#http://www.apache.org/licenses/LICENSE-2.0
#
#Unless required by applicable law or agreed to in writing, software
#distributed under the License is distributed on an "AS IS" BASIS,
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#See the License for the specific language governing permissions and
#limitations under the License.

linters-settings:
  govet:
    settings:
      printf:
        funcs:
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
    enable:
      - shadow
      - fieldalignment
  golint:
    min-confidence: 0

  gocyclo:
    min-complexity: 20

  misspell:
    locale: US
    ignore-words:
      - cancelled

linters:
  enable:
    #- gocritic
    #- gochecknoglobals
    #- gochecknoinits
    - gocyclo
    - gofmt
    - govet
    - ineffassign
    - misspell
    - gosec
    - errcheck
    - goimports
    - gosimple
    - staticcheck
    - unused
    - unparam

run:
  modules-download-mode: vendor

issues:
  exclude-rules:
    - text: "weak cryptographic primitive"
      linters:
        - gosec
    - path: ".*_test.go"
      linters:
        - govet
        - fieldalignment
  exclude:
    - "Error return value of `rxCallbackEntry.cbFunction` is not checked"
    - "Error return value of `oo.sendNextRequest` is not checked"
    - "Error return value of `oo.pDevOmciCC.send` is not checked"
    - "Error return value of `onuDeviceEntry.mibDbClass` is not checked"
    - "SA1019: voltha.ImageDownload is deprecated"
    - 'G115: integer overflow conversion'
  exclude-use-default: false
