aboutsummaryrefslogtreecommitdiffstats
path: root/build/plugins/_dart_fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'build/plugins/_dart_fields.py')
-rw-r--r--build/plugins/_dart_fields.py8
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)}