From ae38bdd5dc720e307266ba4cedd92933069024d8 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 12 Mar 2024 04:28:02 +0000 Subject: [PATCH] Flag LAYOUT macros still defined in .h files (#23260) --- lib/python/qmk/info.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 13588abdb85..815b8514742 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -78,7 +78,7 @@ def _find_invalid_encoder_index(info_data): return ret -def _validate_layouts(keyboard, info_data): +def _validate_layouts(keyboard, info_data): # noqa C901 """Non schema checks """ col_num = info_data.get('matrix_size', {}).get('cols', 0) @@ -92,6 +92,11 @@ def _validate_layouts(keyboard, info_data): if len(layouts) == 0 or all(not layout.get('json_layout', False) for layout in layouts.values()): _log_error(info_data, 'No LAYOUTs defined! Need at least one layout defined in info.json.') + # Make sure all layouts are DD + for layout_name, layout_data in layouts.items(): + if layout_data.get('c_macro', False): + _log_error(info_data, f'{layout_name}: Layout macro should not be defined within ".h" files.') + # Make sure all matrix values are in bounds for layout_name, layout_data in layouts.items(): for index, key_data in enumerate(layout_data['layout']):