summaryrefslogtreecommitdiffstats
path: root/build/plugins/_dart_fields.py
diff options
context:
space:
mode:
authoralevitskii <[email protected]>2025-03-04 08:39:01 +0300
committeralevitskii <[email protected]>2025-03-04 09:08:09 +0300
commit7df7aadd0eabfdedb541a6c6c134e9d54efb8935 (patch)
treef557addc7b9b69349aacb44b3a22ed67a5efacd6 /build/plugins/_dart_fields.py
parentd55bbf876da488e9df3c57c1c24b3b90292cd86a (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.py40
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}