linters/README.md

54 lines
1.5 KiB
Markdown
Raw Normal View History

2023-07-18 08:16:27 +00:00
# linters
## Overview
`linters` is a project that enables the integration of custom linting rules into the [golangci-lint](https://github.com/golangci/golangci-lint) framework.
## Available linters
| Name | Description |
| ----------------------- | --------------------------------------------------------------------------- |
| [noliteral](#noliteral) | The tool prohibits the use of literal string arguments in logging functions |
## Linters Configuration
2023-07-18 08:16:27 +00:00
The settings for linters are available if golangci-lint >= 1.5.4 is used.
### noliteral
```yml
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"
constants-package: "git.frostfs.info/rep/logs" #if not set, then the check is disabled
```
2023-07-18 08:16:27 +00:00
## Installation
```bash
git clone git.frostfs.info/TrueCloudLab/linters
cd linters
make lib OUT_DIR=<Path to the directory with libraries>
```
## Usage
Add to .golangci.yml
2023-07-18 08:16:27 +00:00
```yml
linters-settings:
custom:
custom-linters:
path: <Path to the directory with libraries>
original-url: git.frostfs.info/TrueCloudLab/linters
2023-07-18 08:16:27 +00:00
linters:
enable:
custom-linters
```