diff options
| author | alevitskii <[email protected]> | 2025-03-04 08:39:01 +0300 |
|---|---|---|
| committer | alevitskii <[email protected]> | 2025-03-04 09:08:09 +0300 |
| commit | 7df7aadd0eabfdedb541a6c6c134e9d54efb8935 (patch) | |
| tree | f557addc7b9b69349aacb44b3a22ed67a5efacd6 /build/plugins/_dart_fields.py | |
| parent | d55bbf876da488e9df3c57c1c24b3b90292cd86a (diff) | |
[maps/renderer] Migrate to linters.make.inc
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:12abe891c68d35e6fa21bb5f8bd26da23be90344
Diffstat (limited to 'build/plugins/_dart_fields.py')
| -rw-r--r-- | build/plugins/_dart_fields.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/build/plugins/_dart_fields.py b/build/plugins/_dart_fields.py index e102154a348..a9be351e06a 100644 --- a/build/plugins/_dart_fields.py +++ b/build/plugins/_dart_fields.py @@ -1137,6 +1137,8 @@ class TestFiles: # https://a.yandex-team.ru/arcadia/devtools/ya/test/dartfile/__init__.py?rev=r14292146#L10 KEY2 = 'FILES' + # XXX: this is a workaround to support very specific linting settings. + # Do not use it as a general mechanism! _GRUT_PREFIX = 'grut' _GRUT_INCLUDE_LINTER_TEST_PATHS = ( 'grut/libs/bigrt/clients', @@ -1151,6 +1153,36 @@ class TestFiles: 'grut/libs/shooter', ) + # XXX: this is a workaround to support very specific linting settings. + # Do not use it as a general mechanism! + _MAPS_RENDERER_PREFIX = 'maps/renderer' + _MAPS_RENDERER_INCLUDE_LINTER_TEST_PATHS = ( + 'maps/renderer/cartograph', + 'maps/renderer/denormalization', + 'maps/renderer/libs/api', + 'maps/renderer/libs/data_sets/geojson_data_set', + 'maps/renderer/libs/data_sets/yt_data_set', + 'maps/renderer/libs/design', + 'maps/renderer/libs/geosx', + 'maps/renderer/libs/gltf', + 'maps/renderer/libs/golden', + 'maps/renderer/libs/hd3d', + 'maps/renderer/libs/image', + 'maps/renderer/libs/kv_storage', + 'maps/renderer/libs/marking', + 'maps/renderer/libs/mesh', + 'maps/renderer/libs/serializers', + 'maps/renderer/libs/style2', + 'maps/renderer/libs/style2_layer_bundle', + 'maps/renderer/libs/terrain', + 'maps/renderer/libs/vec', + 'maps/renderer/tilemill', + 'maps/renderer/tools/fontograph', + 'maps/renderer/tools/terrain_cli', + 'maps/renderer/tools/mapcheck2/lib', + 'maps/renderer/tools/mapcheck2/tests', + ) + @classmethod def value(cls, unit, flat_args, spec_args): data_re = re.compile(r"sbr:/?/?(\d+)=?.*") @@ -1251,6 +1283,14 @@ class TestFiles: break else: raise DartValueError() + + if upath.startswith(cls._MAPS_RENDERER_PREFIX): + for path in cls._MAPS_RENDERER_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} |
