diff options
author | Zach White <skullydazed@gmail.com> | 2021-03-07 19:10:03 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-07 19:10:03 -0800 |
commit | b0069c5c05dac2c910d51ef7f3bf4133721a9c49 (patch) | |
tree | ea8a7afb278f0ab4adb2e5390ef952c569ce3592 | |
parent | 7d45b7f269ddcfc1b33a55d8fed77bdfbf81ba8b (diff) | |
download | qmk_firmware-b0069c5c05dac2c910d51ef7f3bf4133721a9c49.tar.gz qmk_firmware-b0069c5c05dac2c910d51ef7f3bf4133721a9c49.zip |
Begin the process of deprecating bin/qmk in favor of the global cli (#12109)
* Begin the process of deprecating bin/qmk in favor of the global cli
* Correctly set the qmk bin
-rw-r--r-- | Makefile | 11 | ||||
-rwxr-xr-x | bin/qmk | 2 | ||||
-rw-r--r-- | build_json.mk | 2 | ||||
-rw-r--r-- | build_keyboard.mk | 9 | ||||
-rw-r--r-- | lib/python/qmk/commands.py | 1 | ||||
-rw-r--r-- | lib/python/qmk/tests/test_cli_commands.py | 4 |
6 files changed, 21 insertions, 8 deletions
@@ -29,6 +29,13 @@ $(info QMK Firmware $(QMK_VERSION)) | |||
29 | endif | 29 | endif |
30 | endif | 30 | endif |
31 | 31 | ||
32 | # Determine which qmk cli to use | ||
33 | ifeq (, $(shell which qmk)) | ||
34 | QMK_BIN = bin/qmk | ||
35 | else | ||
36 | QMK_BIN = qmk | ||
37 | endif | ||
38 | |||
32 | # avoid 'Entering|Leaving directory' messages | 39 | # avoid 'Entering|Leaving directory' messages |
33 | MAKEFLAGS += --no-print-directory | 40 | MAKEFLAGS += --no-print-directory |
34 | 41 | ||
@@ -501,8 +508,8 @@ endef | |||
501 | %: | 508 | %: |
502 | # Check if we have the CMP tool installed | 509 | # Check if we have the CMP tool installed |
503 | cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi; | 510 | cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi; |
504 | # Ensure that bin/qmk works. | 511 | # Ensure that $(QMK_BIN) works. |
505 | if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi | 512 | if ! $(QMK_BIN) hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi |
506 | # Check if the submodules are dirty, and display a warning if they are | 513 | # Check if the submodules are dirty, and display a warning if they are |
507 | ifndef SKIP_GIT | 514 | ifndef SKIP_GIT |
508 | if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi | 515 | if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi |
@@ -75,6 +75,8 @@ def main(): | |||
75 | os.environ['ORIG_CWD'] = os.getcwd() | 75 | os.environ['ORIG_CWD'] = os.getcwd() |
76 | os.chdir(qmk_dir) | 76 | os.chdir(qmk_dir) |
77 | 77 | ||
78 | print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr) | ||
79 | |||
78 | # Import the subcommands | 80 | # Import the subcommands |
79 | import qmk.cli # noqa | 81 | import qmk.cli # noqa |
80 | 82 | ||
diff --git a/build_json.mk b/build_json.mk index 6e2f9c4c8..8822be6a1 100644 --- a/build_json.mk +++ b/build_json.mk | |||
@@ -28,4 +28,4 @@ endif | |||
28 | 28 | ||
29 | # Generate the keymap.c | 29 | # Generate the keymap.c |
30 | $(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) | 30 | $(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) |
31 | bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) | 31 | $(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) |
diff --git a/build_keyboard.mk b/build_keyboard.mk index 366d1f5d2..74046a094 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk | |||
@@ -12,6 +12,9 @@ endif | |||
12 | 12 | ||
13 | include common.mk | 13 | include common.mk |
14 | 14 | ||
15 | # Set the qmk cli to use | ||
16 | QMK_BIN ?= qmk | ||
17 | |||
15 | # Set the filename for the final firmware binary | 18 | # Set the filename for the final firmware binary |
16 | KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) | 19 | KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) |
17 | TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) | 20 | TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) |
@@ -97,7 +100,7 @@ MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) | |||
97 | MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) | 100 | MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) |
98 | 101 | ||
99 | # Pull in rules from info.json | 102 | # Pull in rules from info.json |
100 | INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk) | 103 | INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk) |
101 | include $(INFO_RULES_MK) | 104 | include $(INFO_RULES_MK) |
102 | 105 | ||
103 | # Check for keymap.json first, so we can regenerate keymap.c | 106 | # Check for keymap.json first, so we can regenerate keymap.c |
@@ -294,10 +297,10 @@ endif | |||
294 | CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | 297 | CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h |
295 | 298 | ||
296 | $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) | 299 | $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) |
297 | bin/qmk generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h | 300 | $(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h |
298 | 301 | ||
299 | $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) | 302 | $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) |
300 | bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h | 303 | $(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h |
301 | 304 | ||
302 | generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h | 305 | generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h |
303 | 306 | ||
diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 3c6f0d001..233d1034b 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py | |||
@@ -180,6 +180,7 @@ def compile_configurator_json(user_keymap, bootloader=None, parallel=1, **env_va | |||
180 | f'VERBOSE={verbose}', | 180 | f'VERBOSE={verbose}', |
181 | f'COLOR={color}', | 181 | f'COLOR={color}', |
182 | 'SILENT=false', | 182 | 'SILENT=false', |
183 | 'QMK_BIN=qmk', | ||
183 | ]) | 184 | ]) |
184 | 185 | ||
185 | return make_command | 186 | return make_command |
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 82c42a20e..bfecebdd7 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py | |||
@@ -8,7 +8,7 @@ is_windows = 'windows' in platform.platform().lower() | |||
8 | 8 | ||
9 | 9 | ||
10 | def check_subcommand(command, *args): | 10 | def check_subcommand(command, *args): |
11 | cmd = ['bin/qmk', command, *args] | 11 | cmd = ['qmk', command, *args] |
12 | result = run(cmd, stdout=PIPE, stderr=STDOUT, universal_newlines=True) | 12 | result = run(cmd, stdout=PIPE, stderr=STDOUT, universal_newlines=True) |
13 | return result | 13 | return result |
14 | 14 | ||
@@ -17,7 +17,7 @@ def check_subcommand_stdin(file_to_read, command, *args): | |||
17 | """Pipe content of a file to a command and return output. | 17 | """Pipe content of a file to a command and return output. |
18 | """ | 18 | """ |
19 | with open(file_to_read, encoding='utf-8') as my_file: | 19 | with open(file_to_read, encoding='utf-8') as my_file: |
20 | cmd = ['bin/qmk', command, *args] | 20 | cmd = ['qmk', command, *args] |
21 | result = run(cmd, stdin=my_file, stdout=PIPE, stderr=STDOUT, universal_newlines=True) | 21 | result = run(cmd, stdin=my_file, stdout=PIPE, stderr=STDOUT, universal_newlines=True) |
22 | return result | 22 | return result |
23 | 23 | ||