Correctly build keymap.json containing additional config (#18766)

This commit is contained in:
Joel Challis 2022-10-19 11:29:44 +01:00 committed by GitHub
parent f99b9ba270
commit fc0330a54a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,13 +2,13 @@
""" """
import os import os
import sys import sys
import json
import shutil import shutil
from pathlib import Path from pathlib import Path
from milc import cli from milc import cli
import jsonschema import jsonschema
import qmk.keymap
from qmk.constants import KEYBOARD_OUTPUT_PREFIX from qmk.constants import KEYBOARD_OUTPUT_PREFIX
from qmk.json_schema import json_load, validate from qmk.json_schema import json_load, validate
@ -134,12 +134,11 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va
target = f'{keyboard_filesafe}_{user_keymap["keymap"]}' target = f'{keyboard_filesafe}_{user_keymap["keymap"]}'
keyboard_output = Path(f'{KEYBOARD_OUTPUT_PREFIX}{keyboard_filesafe}') keyboard_output = Path(f'{KEYBOARD_OUTPUT_PREFIX}{keyboard_filesafe}')
keymap_output = Path(f'{keyboard_output}_{user_keymap["keymap"]}') keymap_output = Path(f'{keyboard_output}_{user_keymap["keymap"]}')
c_text = qmk.keymap.generate_c(user_keymap)
keymap_dir = keymap_output / 'src' keymap_dir = keymap_output / 'src'
keymap_c = keymap_dir / 'keymap.c' keymap_json = keymap_dir / 'keymap.json'
keymap_dir.mkdir(exist_ok=True, parents=True) keymap_dir.mkdir(exist_ok=True, parents=True)
keymap_c.write_text(c_text) keymap_json.write_text(json.dumps(user_keymap), encoding='utf-8')
# Return a command that can be run to make the keymap and flash if given # Return a command that can be run to make the keymap and flash if given
verbose = 'true' if cli.config.general.verbose else 'false' verbose = 'true' if cli.config.general.verbose else 'false'
@ -175,7 +174,7 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va
f'MAIN_KEYMAP_PATH_3={keymap_output}', f'MAIN_KEYMAP_PATH_3={keymap_output}',
f'MAIN_KEYMAP_PATH_4={keymap_output}', f'MAIN_KEYMAP_PATH_4={keymap_output}',
f'MAIN_KEYMAP_PATH_5={keymap_output}', f'MAIN_KEYMAP_PATH_5={keymap_output}',
f'KEYMAP_C={keymap_c}', f'KEYMAP_JSON={keymap_json}',
f'KEYMAP_PATH={keymap_dir}', f'KEYMAP_PATH={keymap_dir}',
f'VERBOSE={verbose}', f'VERBOSE={verbose}',
f'COLOR={color}', f'COLOR={color}',