diff options
author | Nick Brassel <nick@tzarc.org> | 2023-05-21 07:29:21 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-20 22:29:21 +0100 |
commit | 420e35f9225d7f76e70d25e143311602145c1eb0 (patch) | |
tree | 7474ead126beeb491b7af9a61e107c8750aa3be1 /lib/python | |
parent | 449240f19802ab4a1a7484f90c27fc7045d57b11 (diff) |
`qmk generate-make-dependencies` improvements (#21001)
* Recommendations from @sigprof
* Fix CI tests
Diffstat (limited to 'lib/python')
-rwxr-xr-x | lib/python/qmk/cli/generate/make_dependencies.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/python/qmk/cli/generate/make_dependencies.py b/lib/python/qmk/cli/generate/make_dependencies.py index 635c341897..9b695e907d 100755 --- a/lib/python/qmk/cli/generate/make_dependencies.py +++ b/lib/python/qmk/cli/generate/make_dependencies.py @@ -6,7 +6,6 @@ from milc import cli from argcomplete.completers import FilesCompleter from qmk.commands import dump_lines -from qmk.constants import QMK_FIRMWARE from qmk.keyboard import keyboard_completer, keyboard_folder from qmk.keymap import keymap_completer, locate_keymap from qmk.path import normpath, FileType @@ -23,34 +22,34 @@ def generate_make_dependencies(cli): """ interesting_files = [ 'info.json', - 'keymap.json', 'rules.mk', 'post_rules.mk', 'config.h', 'post_config.h', ] - found_files = [] + check_files = [] # Walk up the keyboard's directory tree looking for the files we're interested in keyboards_root = Path('keyboards') parent_path = Path('keyboards') / cli.args.keyboard while parent_path != keyboards_root: for file in interesting_files: - test_path = parent_path / file - if test_path.exists(): - found_files.append(test_path) + check_files.append(parent_path / file) parent_path = parent_path.parent # Find the keymap and include any of the interesting files if cli.args.keymap is not None: km = locate_keymap(cli.args.keyboard, cli.args.keymap) if km is not None: + # keymap.json is only valid for the keymap, so check this one separately + check_files.append(km.parent / 'keymap.json') + # Add all the interesting files for file in interesting_files: - found_files.extend(km.parent.glob(f'**/{file}')) + check_files.append(km.parent / file) # If we have a matching userspace, include those too for file in interesting_files: - found_files.extend((QMK_FIRMWARE / 'users' / cli.args.keymap).glob(f'**/{file}')) + check_files.append(Path('users') / cli.args.keymap / file) - dump_lines(cli.args.output, [f'generated-files: {found.resolve()}\n' for found in found_files]) + dump_lines(cli.args.output, [f'generated-files: $(wildcard {found})\n' for found in check_files]) |