summaryrefslogtreecommitdiffstats
path: root/lib/python/qmk/cli/compile.py
Commit message (Collapse)AuthorAgeFilesLines
* `--parallel` improvements (#13800)ruro2021-08-181-1/+1
| | | | | | | * improve make parallel jobs support * document the --parallel option * disable the output-sync for interactive targets
* Align our subprocess usage with current best practices. (#12940)Zach White2021-05-191-2/+3
| | | | | | | | | | | | | | | | | * Align our subprocess usage with current best practices. * remove unused import * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * fix the cpp invocation for older python * allow for unprompted installation * make sure qmk new-keyboard works on windows Co-authored-by: Ryan <fauxpark@gmail.com>
* Add support for tab completion (#12411)Zach White2021-04-141-4/+6
| | | | | | | * Add support for tab completion * make flake8 happy * Add documentation
* Add support for qmk_configurator style aliases (#11954)Zach White2021-03-241-1/+2
| | | | | | | | | * Add support for qmk_configurator style aliases * add the keyboard aliases to the api data * add support for a keyboard metadata file * make flake8 happy
* Allow flash/compile to accept relative json paths (#11767)Joel Challis2021-02-071-3/+2
| | | | | | | | | | | * Allow flash/compile to accept relative paths * Review suggestions * Review comments * Put back exists check otherwise stdin fails * fix lint
* Improve the compile and flash subcommands (#11334)Zach White2021-01-161-5/+22
| | | | | | | | | | | | | | | | | | | * add support for --clean to compile and flash * compile standalone JSON keymaps without polluting the tree * Add support for passing environment vars to make * make flake8 happy * document changes to qmk compile and flash * add -e support to json export compiling * Fix python 3.6 * honor $MAKE * add support for parallel builds
* Return the make exit code for qmk compile and flash (#11402)Zach White2021-01-021-1/+2
|
* Fix the path for generated keymaps (#9213)Zach White2020-05-261-4/+0
|
* Add decorators for determining keyboard and keymap based on current ↵skullydazed2020-03-131-12/+25
| | | | | | | | | | | | | | | | | | | directory (#8191) * Use pathlib everywhere we can * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() * add experimental decorators * Create decorators for finding keyboard and keymap based on current directory. Decorators were inspired by @Erovia's brilliant work on the proof of concept.
* Use pathlib everywhere we can (#7872)skullydazed2020-02-171-87/+12
| | | | | | | | | | | | | | | | | | | | | | * Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Update lib/python/qmk/path.py Co-Authored-By: Erovia <Erovia@users.noreply.github.com> * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* Add QMK Compile Context Sensitivity (#6884)Cody Bender2020-02-071-3/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add context sensitive compile, without config check * Initial full working state. Plan to refactor * Refactor loop for simplicity, add comments * Update docs/cli.md with qmk compile examples * Simplify path for keyboard derivation * Update path to use path.join instead of concat * Refactor keyboard path, the skully way * Add in keymap folder support * Add /layouts compile support * Update docs/cli.md with empty compile in layouts * Add comments to compile.py * Update docs for clarity, and fix compile error typo * Fix config option compile * Fix layout compile and failure mode * Add rules.mk check * Fix variable names for global config * Add in_layout priority * Remove default fallback in favor of throw, update docs * Add keymap folder context * Fix formatting * Add os import * Convert to create_make_command * Fix Travis lint errors * Remove blank line with whitespace * Add blank lines for readability * Remove unnecessary config logic * Update Docs to add flash Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Shift config precedence to MILC Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
* Fix compiling json filesZach White2019-12-081-1/+1
|
* Add flake8 to our test suite and fix all errors (#7379)skullydazed2019-11-201-3/+0
| | | | | | * Add flake8 to our test suite and fix all errors * Add some documentation
* format code according to conventions [skip ci]QMK Bot2019-11-161-2/+1
|
* Add CLI command for flashing a keyboardjorgemanzo2019-11-151-5/+9
| | | | | | | | A new CLI subcommand was added, flash, which behaves very similar to the already present compile CLI comamnd, but with the added ability to target a bootloader. The command is used like so: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename]. A -kb <keyboard> and -km <keymap> is expected, or a configurator export JSON filename. A bootloader can be specified using -bl <target>, and if left unspecified, the target is assumed to be :flash. -bl can be used to list the available bootloaders. If -km <keymap> is provided, but no -kb <keyboard>, then a message is printed suggesting the user to run qmk list_keyboards.
* Configuration system for CLI (#6708)skullydazed2019-09-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rework how bin/qmk handles subcommands * qmk config wip * Code to show all configs * Fully working `qmk config` command * Mark some CLI arguments so they don't pollute the config file * Fleshed out config support, nicer subcommand support * sync with installable cli * pyformat * Add a test for subcommand_modules * Documentation for the `qmk config` command * split config_token on space so qmk config is more predictable * Rework how subcommands are imported * Document `arg_only` * Document deleting from CLI * Document how multiple operations work * Add cli config to the doc index * Add tests for the cli commands * Make running the tests more reliable * Be more selective about building all default keymaps * Update new-keymap to fit the new subcommand style * Add documentation about writing CLI scripts * Document new-keyboard * Update docs/cli_configuration.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Address yan's comments. * Apply suggestions from code review suggestions from @noahfrederick Co-Authored-By: Noah Frederick <code@noahfrederick.com> * Apply suggestions from code review Co-Authored-By: Noah Frederick <code@noahfrederick.com> * Remove pip3 from the test runner
* Refactor `qmk compile-json` to `qmk compile` (#6592)skullydazed2019-08-251-0/+53