/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
build/plugins/macros_with_error.py
60 строк
2 KB
Anton Myagkov
Update ydb version to 24.4 (#4579)
07 фев 2026, 11:59
Не верифицирован
07 фев 2026, 11:59
2c21cae
Код
Авторство
О чём код?
import sys import _common import ymake def onmacros_with_error(unit, *args): sys.stderr.write('This macros will fail\n') raise Exception('Expected fail in MACROS_WITH_ERROR') def onrestrict_path(unit, *args): if args: if 'MSG' in args: pos = args.index('MSG') paths, msg = args[:pos], args[pos + 1 :] msg = ' '.join(msg) else: paths, msg = args, 'forbidden' if not _common.strip_roots(unit.path()).startswith(paths): error_msg = "Path '[[imp]]{}[[rst]]' is restricted - [[bad]]{}[[rst]]. Valid path prefixes are: [[unimp]]{}[[rst]]".format( unit.path(), msg, ', '.join(paths) ) ymake.report_configure_error(error_msg) def onassert(unit, *args): val = unit.get(args[0]) if val and val.lower() == "no": msg = ' '.join(args[1:]) ymake.report_configure_error(msg) def onvalidate_in_dirs(unit, *args): files_var = args[0] pattern = args[1] no_srcdir = args[2] == '--' srcdir = '' if no_srcdir else args[2] dirs = args[3:] if no_srcdir else args[4:] pfx = '[[imp]]DECLARE_IN_DIRS[[rst]]: ' if '**' in pattern: ymake.report_configure_error(f"{pfx}'**' in files mask is prohibited. Seen [[unimp]]{pattern}[[rst]]") unit.set([files_var, ""]) for pat in ('*', '?'): if pat in srcdir: ymake.report_configure_error( f"{pfx}'{pat}' in [[imp]]SRCDIR[[rst]] argument is prohibited. Seen [[unimp]]{srcdir}[[rst]]" ) unit.set([files_var, ""]) for dir in dirs: for pat in ('*', '?', '$', '..'): if pat in dir: ymake.report_configure_error( f"{pfx}'{pat}' in [[imp]]DIRS[[rst]] argument is prohibited. Seen [[unimp]]{dir}[[rst]]" ) unit.set([files_var, ""])