diff options
author | alevitskii <alevitskii@yandex-team.com> | 2025-02-28 20:06:16 +0300 |
---|---|---|
committer | alevitskii <alevitskii@yandex-team.com> | 2025-02-28 21:55:40 +0300 |
commit | 0f9401a62a8e61076cca0a79e2431514fe847894 (patch) | |
tree | e14ca67751b97ff16db40706329e9439bb80567c | |
parent | 754b31f2c1038e3249aaacd4c57afe638dcd3c0b (diff) | |
download | ydb-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
-rw-r--r-- | build/plugins/_dart_fields.py | 21 |
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} |