[CLI] Add common util for dumping generated content (#16674)
This commit is contained in:
parent
417f089115
commit
e5823b5650
8 changed files with 132 additions and 116 deletions
|
@ -3,8 +3,10 @@
|
|||
from milc import cli
|
||||
|
||||
from qmk.info import info_json
|
||||
from qmk.commands import dump_lines
|
||||
from qmk.keyboard import keyboard_completer, keyboard_folder
|
||||
from qmk.path import normpath
|
||||
from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
|
||||
|
||||
|
||||
def would_populate_layout_h(keyboard):
|
||||
|
@ -36,22 +38,10 @@ def generate_keyboard_h(cli):
|
|||
has_layout_h = would_populate_layout_h(cli.args.keyboard)
|
||||
|
||||
# Build the layouts.h file.
|
||||
keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.', ' */', '', '#pragma once', '#include "quantum.h"']
|
||||
keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "quantum.h"']
|
||||
|
||||
if not has_layout_h:
|
||||
keyboard_h_lines.append('#pragma error("<keyboard>.h is only optional for data driven keyboards - kb.h == bad times")')
|
||||
|
||||
# Show the results
|
||||
keyboard_h = '\n'.join(keyboard_h_lines) + '\n'
|
||||
|
||||
if cli.args.output:
|
||||
cli.args.output.parent.mkdir(parents=True, exist_ok=True)
|
||||
if cli.args.output.exists():
|
||||
cli.args.output.replace(cli.args.output.parent / (cli.args.output.name + '.bak'))
|
||||
cli.args.output.write_text(keyboard_h)
|
||||
|
||||
if not cli.args.quiet:
|
||||
cli.log.info('Wrote keyboard_h to %s.', cli.args.output)
|
||||
|
||||
else:
|
||||
print(keyboard_h)
|
||||
dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue