summaryrefslogtreecommitdiff
path: root/data/mappings/info_rules.json
diff options
context:
space:
mode:
authorZach White <skullydazed@gmail.com>2021-01-31 12:46:00 -0800
committerGitHub <noreply@github.com>2021-01-31 12:46:00 -0800
commitef6329af7c7be77b537fbfc5a5cc7105acc679f7 (patch)
tree911f2baa834648e09baff1e7cc21cafae47a8ce8 /data/mappings/info_rules.json
parent6cada2a35f57629f821852ba629e33e9abee3e74 (diff)
Create a system to map between info.json and config.h/rules.mk (#11548)
* generate rules.mk from a json mapping * generate rules.mk from a json mapping * support for config.h from json maps * improve the mapping system * document the mapping system * move data/maps to data/mappings * fix flake8 errors * fixup LED_MATRIX_DRIVER * remove product and description from the vision_division keymap level * reduce the complexity of generate-rules-mk * add tests for the generate commands * fix qmk doctor when submodules are not clean
Diffstat (limited to 'data/mappings/info_rules.json')
-rw-r--r--data/mappings/info_rules.json15
1 files changed, 15 insertions, 0 deletions
diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json
new file mode 100644
index 0000000000..97f772c4d5
--- /dev/null
+++ b/data/mappings/info_rules.json
@@ -0,0 +1,15 @@
+# This file maps keys between `rules.mk` and `info.json`. It is used by QMK
+# to correctly and consistently map back and forth between the two systems.
+{
+ # Format:
+ # <rules.mk key>: {"info_key": <info.json key>, ["value_type": <value_type>], ["to_json": <true/false>], ["to_c": <true/false>]}
+ # value_type: one of "array", "array.int", "int", "list", "hex", "mapping"
+ # to_json: Default `true`. Set to `false` to exclude this mapping from info.json
+ # to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk
+ # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
+ "BOARD": {"info_key": "board"},
+ "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
+ "LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
+ "LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
+ "MCU": {"info_key": "processor", "warn_duplicate": false},
+}