~ruther/qmk_firmware

56802f506cee22730e004b0695d87e9e9c5983af — Nick Brassel 1 year, 2 months ago c6668b9
Ensure `qmk generate-compilation-database` copies to userspace as well. (#23129)

2 files changed, 6 insertions(+), 3 deletions(-)

M lib/python/qmk/build_targets.py
M lib/python/qmk/cli/generate/compilation_database.py
M lib/python/qmk/build_targets.py => lib/python/qmk/build_targets.py +3 -2
@@ 119,9 119,10 @@ class BuildTarget:
        command = self.compile_command(build_target=build_target, dry_run=True, **env_vars)
        from qmk.cli.generate.compilation_database import write_compilation_database  # Lazy load due to circular references
        output_path = QMK_FIRMWARE / 'compile_commands.json'
        write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars)
        if output_path.exists() and HAS_QMK_USERSPACE:
        ret = write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars)
        if ret and output_path.exists() and HAS_QMK_USERSPACE:
            shutil.copy(str(output_path), str(QMK_USERSPACE / 'compile_commands.json'))
        return ret

    def compile(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None:
        if self._clean or self._compiledb:

M lib/python/qmk/cli/generate/compilation_database.py => lib/python/qmk/cli/generate/compilation_database.py +3 -1
@@ 17,6 17,7 @@ from qmk.constants import QMK_FIRMWARE
from qmk.decorators import automagic_keyboard, automagic_keymap
from qmk.keyboard import keyboard_completer, keyboard_folder
from qmk.keymap import keymap_completer
from qmk.build_targets import KeyboardKeymapBuildTarget


@lru_cache(maxsize=10)


@@ 138,4 139,5 @@ def generate_compilation_database(cli: MILC) -> Union[bool, int]:
    elif not current_keymap:
        cli.log.error('Could not determine keymap!')

    return write_compilation_database(current_keyboard, current_keymap, QMK_FIRMWARE / 'compile_commands.json')
    target = KeyboardKeymapBuildTarget(current_keyboard, current_keymap)
    return target.generate_compilation_database()

Do not follow this link