CLI: Add qmk clean (#10785)
				
					
				
			This commit is contained in:
		
							parent
							
								
									d46fa2274c
								
							
						
					
					
						commit
						7ef98e7f61
					
				
					 4 changed files with 33 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -212,6 +212,16 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
 | 
			
		|||
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## `qmk clean`
 | 
			
		||||
 | 
			
		||||
This command cleans up the `.build` folder. If `--all` is passed, any .hex or .bin files present in the `qmk_firmware` directory will also be deleted.
 | 
			
		||||
 | 
			
		||||
**Usage**:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
qmk clean [-a]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# Developer Commands
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,7 @@ from milc import cli
 | 
			
		|||
 | 
			
		||||
from . import c2json
 | 
			
		||||
from . import cformat
 | 
			
		||||
from . import clean
 | 
			
		||||
from . import compile
 | 
			
		||||
from . import config
 | 
			
		||||
from . import docs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								lib/python/qmk/cli/clean.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								lib/python/qmk/cli/clean.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
"""Clean the QMK firmware folder of build artifacts.
 | 
			
		||||
"""
 | 
			
		||||
from qmk.commands import run
 | 
			
		||||
from milc import cli
 | 
			
		||||
 | 
			
		||||
import shutil
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@cli.argument('-a', '--all', arg_only=True, action='store_true', help='Remove *.hex and *.bin files in the QMK root as well.')
 | 
			
		||||
@cli.subcommand('Clean the QMK firmware folder of build artifacts.')
 | 
			
		||||
def clean(cli):
 | 
			
		||||
    """Runs `make clean` (or `make distclean` if --all is passed)
 | 
			
		||||
    """
 | 
			
		||||
    make_cmd = 'gmake' if shutil.which('gmake') else 'make'
 | 
			
		||||
 | 
			
		||||
    run([make_cmd, 'distclean' if cli.args.all else 'clean'])
 | 
			
		||||
| 
						 | 
				
			
			@ -184,3 +184,9 @@ def test_c2json_nocpp():
 | 
			
		|||
    result = check_subcommand("c2json", "--no-cpp", "-kb", "handwired/onekey/pytest", "-km", "default", "keyboards/handwired/onekey/keymaps/pytest_nocpp/keymap.c")
 | 
			
		||||
    check_returncode(result)
 | 
			
		||||
    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"]]}'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_clean():
 | 
			
		||||
    result = check_subcommand('clean', '-a')
 | 
			
		||||
    check_returncode(result)
 | 
			
		||||
    assert result.stdout.count('done') == 2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue