diff options
author | Ryan <fauxpark@gmail.com> | 2020-11-05 06:18:47 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-04 19:18:47 +0000 |
commit | 7ef98e7f6164afd1d825a6ce8efa20560927fcc9 (patch) | |
tree | 74734d3984caae26dfebdecdfd79e35d72b81500 /lib/python | |
parent | d46fa2274cac7d1dad2e6c684d3fabf729efaa2e (diff) | |
download | qmk_firmware-7ef98e7f6164afd1d825a6ce8efa20560927fcc9.tar.gz qmk_firmware-7ef98e7f6164afd1d825a6ce8efa20560927fcc9.zip |
CLI: Add `qmk clean` (#10785)
Diffstat (limited to 'lib/python')
-rw-r--r-- | lib/python/qmk/cli/__init__.py | 1 | ||||
-rw-r--r-- | lib/python/qmk/cli/clean.py | 16 | ||||
-rw-r--r-- | lib/python/qmk/tests/test_cli_commands.py | 6 |
3 files changed, 23 insertions, 0 deletions
diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 47e1b4435..3868f94bb 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py | |||
@@ -8,6 +8,7 @@ from milc import cli | |||
8 | 8 | ||
9 | from . import c2json | 9 | from . import c2json |
10 | from . import cformat | 10 | from . import cformat |
11 | from . import clean | ||
11 | from . import compile | 12 | from . import compile |
12 | from . import config | 13 | from . import config |
13 | from . import docs | 14 | from . import docs |
diff --git a/lib/python/qmk/cli/clean.py b/lib/python/qmk/cli/clean.py new file mode 100644 index 000000000..ec6501b76 --- /dev/null +++ b/lib/python/qmk/cli/clean.py | |||
@@ -0,0 +1,16 @@ | |||
1 | """Clean the QMK firmware folder of build artifacts. | ||
2 | """ | ||
3 | from qmk.commands import run | ||
4 | from milc import cli | ||
5 | |||
6 | import shutil | ||
7 | |||
8 | |||
9 | @cli.argument('-a', '--all', arg_only=True, action='store_true', help='Remove *.hex and *.bin files in the QMK root as well.') | ||
10 | @cli.subcommand('Clean the QMK firmware folder of build artifacts.') | ||
11 | def clean(cli): | ||
12 | """Runs `make clean` (or `make distclean` if --all is passed) | ||
13 | """ | ||
14 | make_cmd = 'gmake' if shutil.which('gmake') else 'make' | ||
15 | |||
16 | run([make_cmd, 'distclean' if cli.args.all else 'clean']) | ||
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 7c261db6c..df5f047da 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py | |||
@@ -184,3 +184,9 @@ def test_c2json_nocpp(): | |||
184 | result = check_subcommand("c2json", "--no-cpp", "-kb", "handwired/onekey/pytest", "-km", "default", "keyboards/handwired/onekey/keymaps/pytest_nocpp/keymap.c") | 184 | result = check_subcommand("c2json", "--no-cpp", "-kb", "handwired/onekey/pytest", "-km", "default", "keyboards/handwired/onekey/keymaps/pytest_nocpp/keymap.c") |
185 | check_returncode(result) | 185 | check_returncode(result) |
186 | assert result.stdout.strip() == '{"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_ENTER"]]}' | 186 | assert result.stdout.strip() == '{"keyboard": "handwired/onekey/pytest", "documentation": "This file is a keymap.json file for handwired/onekey/pytest", "keymap": "default", "layout": "LAYOUT", "layers": [["KC_ENTER"]]}' |
187 | |||
188 | |||
189 | def test_clean(): | ||
190 | result = check_subcommand('clean', '-a') | ||
191 | check_returncode(result) | ||
192 | assert result.stdout.count('done') == 2 | ||