aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authoralevitskii <alevitskii@yandex-team.com>2025-02-28 20:06:16 +0300
committeralevitskii <alevitskii@yandex-team.com>2025-02-28 21:55:40 +0300
commit0f9401a62a8e61076cca0a79e2431514fe847894 (patch)
treee14ca67751b97ff16db40706329e9439bb80567c /build
parent754b31f2c1038e3249aaacd4c57afe638dcd3c0b (diff)
downloadydb-0f9401a62a8e61076cca0a79e2431514fe847894.tar.gz
GRUT:Migrate to linters.make.inc
В рамках работы над линтерной моделью мигрируем на новый макрос `STYLE_CPP` в связке с механизмом автоинклудов. Цели для линтинга теперь берутся из макроса `SRCS`. Пути к заголовочным файлам, расположенным не в одном каталоге с `ya.make`, рекомендуется явно перечислять в `SRCS` или воспользоваться макросом [`HEADERS`](https://nda.ya.ru/t/4kwv_vCU7CKfbh). В `STYLE_CPP` теперь указывается тип конфига, для clang-format это `.clang-format`. Сам конфиг должен располагаться на том же уровне, что и `linters.make.inc` Механизм работы автоинклудов описан в документации, см. примечание <https://nda.ya.ru/t/wr3yJ-bG7AYmzZ> `ya style` также поддерживает кастомные конфиги -- используется конфиг, лежащий ближе всего к цели линтинга вверх по иерархии каталогов commit_hash:21360a2624e6abd567a4315d1669c1dce9fd13e3
Diffstat (limited to 'build')
-rw-r--r--build/plugins/_dart_fields.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/build/plugins/_dart_fields.py b/build/plugins/_dart_fields.py
index 8504891586..e102154a34 100644
--- a/build/plugins/_dart_fields.py
+++ b/build/plugins/_dart_fields.py
@@ -1137,6 +1137,20 @@ class TestFiles:
# https://a.yandex-team.ru/arcadia/devtools/ya/test/dartfile/__init__.py?rev=r14292146#L10
KEY2 = 'FILES'
+ _GRUT_PREFIX = 'grut'
+ _GRUT_INCLUDE_LINTER_TEST_PATHS = (
+ 'grut/libs/bigrt/clients',
+ 'grut/libs/bigrt/common',
+ 'grut/libs/bigrt/data',
+ 'grut/libs/bigrt/event_filter',
+ 'grut/libs/bigrt/info_keepers',
+ 'grut/libs/bigrt/processor',
+ 'grut/libs/bigrt/profile',
+ 'grut/libs/bigrt/profiles',
+ 'grut/libs/bigrt/queue_info_config',
+ 'grut/libs/shooter',
+ )
+
@classmethod
def value(cls, unit, flat_args, spec_args):
data_re = re.compile(r"sbr:/?/?(\d+)=?.*")
@@ -1230,6 +1244,13 @@ class TestFiles:
@classmethod
def cpp_linter_files(cls, unit, flat_args, spec_args):
+ upath = unit.path()[3:]
+ if upath.startswith(cls._GRUT_PREFIX):
+ for path in cls._GRUT_INCLUDE_LINTER_TEST_PATHS:
+ if os.path.commonpath([upath, path]) == path:
+ break
+ else:
+ raise DartValueError()
files_dart = _reference_group_var("ALL_SRCS", consts.STYLE_CPP_ALL_EXTS)
return {cls.KEY: files_dart, cls.KEY2: files_dart}