qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

commit 56802f506cee22730e004b0695d87e9e9c5983af
parent c6668b9cd9d153ed8cdd59f2f96d9deba1001e1a
Author: Nick Brassel <nick@tzarc.org>
Date:   Thu, 22 Feb 2024 23:47:42 +1100

Ensure `qmk generate-compilation-database` copies to userspace as well. (#23129)


Diffstat:
Mlib/python/qmk/build_targets.py | 5+++--
Mlib/python/qmk/cli/generate/compilation_database.py | 4+++-
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/python/qmk/build_targets.py b/lib/python/qmk/build_targets.py @@ -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: diff --git a/lib/python/qmk/cli/generate/compilation_database.py b/lib/python/qmk/cli/generate/compilation_database.py @@ -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()