forked from TrueCloudLab/linters
No description
|
||
---|---|---|
.forgejo/workflows | ||
internal/analyzers/noliteral | ||
pkg/ast-utils | ||
.gitattributes | ||
.gitignore | ||
.gitlint | ||
.golangci.yml | ||
.pre-commit-config.yaml | ||
go.mod | ||
go.sum | ||
main.go | ||
Makefile | ||
README.md |
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.