summaryrefslogtreecommitdiffstats
path: root/build/conf/custom_lint.conf
blob: 5de2de3f3bec8a92a69c95b749151deaf347a8fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
JSON_LINTER_DEFAULT_CONFIGS=build/config/tests/json_style/default_configs.json
YAML_LINTER_DEFAULT_CONFIGS=build/config/tests/yaml_style/default_configs.json


# tag:lint tag:internal
macro _CUSTOM_LINT_FILES(GLOB_VAR, EXT, DIRS[], DIRS_RECURSE[]) {
    _GLOB(${GLOB_VAR} ${suf=/*.(${EXT}):DIRS} ${suf=/**/*.(${EXT}):DIRS_RECURSE} ${suf=/**/ya.make:DIRS_RECURSE} ${suf=/ya.make:DIRS} EXCLUDE ya.make RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
}

# tag:lint tag:test
### @usage: STYLE_JSON([DIRS dirs] [DIRS_RECURSE dirs_recurse])
### _ADD_PY_LINTER_CHECK(NAME name LINTER linter [DEPENDS deps] [DEFAULT_CONFIGS configs_file] [FILE_PROCESSING_TIME fpt] [EXTRA_PARAMS params] [CONFIG_TYPE ct])
macro STYLE_JSON(DIRS[], DIRS_RECURSE[]) {
    SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${ARCADIA_ROOT}/${JSON_LINTER_DEFAULT_CONFIGS})
    SET(_VAR_JSON_LINT_FILES_SALT __DIRS__ ${DIRS} __DIRS_RECURSE__ ${DIRS_RECURSE})
    SET(_CUSTOM_JSON_LINT_FILES_GLOB uniq_json_lint_files_${hash:_VAR_JSON_LINT_FILES_SALT})
    _CUSTOM_LINT_FILES(${_CUSTOM_JSON_LINT_FILES_GLOB} json DIRS .${pre=/:DIRS} DIRS_RECURSE $DIRS_RECURSE)
    _ADD_CUSTOM_EXPLICIT_LINTER_CHECK(NAME clang_format_json WRAPPER_SCRIPT tools/clang_format_json_linter/wrapper.py DEFAULT_CONFIGS $JSON_LINTER_DEFAULT_CONFIGS FILES ${${_CUSTOM_JSON_LINT_FILES_GLOB}})
}

# tag:lint tag:test
### @usage: STYLE_YAML([DIRS dirs] [DIRS_RECURSE dirs_recurse])
macro STYLE_YAML(DIRS[], DIRS_RECURSE[]) {
    SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${ARCADIA_ROOT}/${YAML_LINTER_DEFAULT_CONFIGS})
    SET(_VAR_YAML_LINT_FILES_SALT __DIRS__ ${DIRS} __DIRS_RECURSE__ ${DIRS_RECURSE})
    SET(_CUSTOM_YAML_LINT_FILES_GLOB uniq_yaml_lint_files_${hash:_VAR_YAML_LINT_FILES_SALT})
    _CUSTOM_LINT_FILES(${_CUSTOM_YAML_LINT_FILES_GLOB} yaml|yml DIRS .${pre=/:DIRS} DIRS_RECURSE $DIRS_RECURSE)
    _ADD_CUSTOM_EXPLICIT_LINTER_CHECK(NAME yamlfmt_format_yaml WRAPPER_SCRIPT tools/yamlfmt_linter/wrapper.py DEFAULT_CONFIGS $YAML_LINTER_DEFAULT_CONFIGS FILES ${${_CUSTOM_YAML_LINT_FILES_GLOB}})
}