diff options
Diffstat (limited to 'build/plugins/_dart_fields.py')
-rw-r--r-- | build/plugins/_dart_fields.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/build/plugins/_dart_fields.py b/build/plugins/_dart_fields.py index d7d0fa5737..49c49f345f 100644 --- a/build/plugins/_dart_fields.py +++ b/build/plugins/_dart_fields.py @@ -662,6 +662,8 @@ class LintConfigs: class LintExtraParams: KEY = 'LINT-EXTRA-PARAMS' + _CUSTOM_CLANG_FORMAT_BIN_ALLOWED_PATHS = ('ads', 'bigrt', 'grut') + @classmethod def from_macro_args(cls, unit, flat_args, spec_args): extra_params = spec_args.get('EXTRA_PARAMS', []) @@ -670,6 +672,12 @@ class LintExtraParams: message = 'Wrong EXTRA_PARAMS value: "{}". Values must have format "name=value".'.format(arg) ymake.report_configure_error(message) raise DartValueError() + if 'clang_format_bin' in arg: + upath = unit.path()[3:] + if not upath.startswith(cls._CUSTOM_CLANG_FORMAT_BIN_ALLOWED_PATHS): + message = f'Custom clang-format is not allowed in upath: {upath}' + ymake.report_configure_error(message) + raise DartValueError() return {cls.KEY: serialize_list(extra_params)} |