No description
Find a file
Alexander Chuprov 1c1b1596a8 [#4] linters: add disable-packages option
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2023-08-07 17:36:41 +03:00
.forgejo/workflows [#4] linters: add disable-packages option 2023-08-07 17:36:41 +03:00
internal/analyzers/noliteral [#4] linters: add disable-packages option 2023-08-07 17:36:41 +03:00
.gitattributes Initial commit 2023-07-17 10:51:48 +00:00
.gitignore Initial commit 2023-07-17 10:51:48 +00:00
.gitlint Initial commit 2023-07-17 10:51:48 +00:00
.golangci.yml [#4] linters: Add check for source of constants 2023-08-04 14:26:40 +03:00
.pre-commit-config.yaml Initial commit 2023-07-17 10:51:48 +00:00
go.mod [#6] noliteral: add noliteral configuration 2023-08-01 14:39:49 +03:00
go.sum [#6] noliteral: add noliteral configuration 2023-08-01 14:39:49 +03:00
main.go [#4] linters: add disable-packages option 2023-08-07 17:36:41 +03:00
Makefile [#5] linters: refactoring 2023-07-31 12:59:51 +03:00
README.md [#4] linters: add disable-packages option 2023-08-07 17:36:41 +03:00

linters

Overview

linters is a project that enables the integration of custom linting rules into the golangci-lint framework.

Usage

Add to .golangci.yml


    linters-settings:
    custom:
        custom-linters:
            path: <Path to the directory with libraries>
            original-url: git.frostfs.info/TrueCloudLab/linters


    linters:
        enable:
            custom-linters

Installation

    git clone git.frostfs.info/TrueCloudLab/linters
    cd linters
    make lib OUT_DIR=<Path to the directory with libraries>

Available linters

Name Description
noliteral The tool prohibits the use of literal string arguments in logging functions

Linters Configuration

Settings via a configuration file are available if golangci-lint >= 1.5.4 is used

noliteral

File Configuration
linters-settings:
    custom:
        noliteral:
            path: .bin/external_linters.so
            original-url: git.frostfs.info/TrueCloudLab/linters.git 
            settings:
                target-methods: ["reportFlushError", "reportError"] # optional. Enabled by default "Debug", "Info", "Warn", "Error"
                disable-packages: ["pkg1", "pkg2"] # List of packages for which the check should be disabled.
                constants-package: "git.frostfs.info/rep/logs" # if not set, then the check is disabled

ENV Configuration
Variable Description
NOLITERAL_TARGET_METHODS List of methods to analyze
NOLITERAL_DISABLE_PACKAGES List of packages for which the check should be disabled
NOLITERAL_CONSTANTS_PACKAGE Path to the package with constants

Note: You may need to clear the golangci-lint cache when configuring through ENV. More details can be found here.