summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Configuration system for CLI (#6708)skullydazed2019-09-221-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Add support for Void Linux systems to the qmk_install.sh script (#5526)Sorixelle2019-09-201-0/+23
| | | | | | | | | | | | * Add support for Void Linux systems to the qmk_install.sh script * Fix typos + grammatical edits in comments * Sort distributions by alphabetical order in linux_install.sh * Revert previous commit and sort Void packages in alphabetical order * Fix permissions on `util/linux_install.sh`
* Run the python tests inside dockerskullY2019-09-071-5/+5
|
* add missing apostrophesskullY2019-09-071-1/+1
|
* filter python from the list of things that trigger default buildsskullY2019-09-071-2/+2
|
* Add python tests to the travis checkskullY2019-09-071-1/+9
|
* Update docker_build.sh: indentation fix, error echo function (#6659)Konstantin Đorđević2019-09-071-8/+12
| | | | | | * Replace spaces with tab in docker_build.sh * Use errcho instead of echo >&2
* Add `dfu-programmer` to `pacman -S` (#6619)Cory Watson2019-09-021-5/+2
| | | | | | | | | | | | | | | * Add `dfu-programmer` to `pacman -S` (#6618) `dfu-programmer` now resides at `extra/dfu-programmer` and is no longer in the AUR * Add `--needed` option to `pacman -S` for efficiency * Fix * Update util/linux_install.sh Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Fix msys2 not installing any packages because it can't find clang (#6655)fauxpark2019-09-021-1/+1
|
* Add new files to the list of files that are formatted. (#6296)skullydazed2019-08-301-4/+4
|
* Enforce clang-format (#6293)skullydazed2019-08-304-3/+10
| | | | | | * Enforce clang-format on commit for core files * forgot about tests
* Add an alternative method for keyboard discovery to speed up build (#6073)Joel Challis2019-08-151-1/+7
| | | | | | | | | | | | * Add an alternative method for keyboard discovery to speed up build * Chain MAKEFLAGS for docker_build.sh * Slight improvement to number of items sent to sort * Remove debug line * Fix line escape
* Fix qmk_install.sh on Windows dropping to command prompt (#6488)fauxpark2019-08-061-1/+1
|
* Configure Vagrant to use qmk_base_container (#6194)Joel Challis2019-07-162-0/+45
| | | | | | | | | | * Initial conversion of vagrant to use qmkfm/base_container * Fix vagrant when using docker provider * Workaround for VirtualBox VM restarts * Generalise Vagrant docs slightly and add FAQ
* QMK CLI and JSON keymap support (#6176)skullydazed2019-07-155-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Script to generate keymap.c from JSON file. * Support for keymap.json * Add a warning about the keymap.c getting overwritten. * Fix keymap generating * Install the python deps * Flesh out more of the python environment * Remove defunct json2keymap * Style everything with yapf * Polish up python support * Hide json keymap.c into the .build dir * Polish up qmk-compile-json * Make milc work with positional arguments * Fix a couple small things * Fix some errors and make the CLI more understandable * Make the qmk wrapper more robust * Add basic QMK Doctor * Clean up docstrings and flesh them out as needed * remove unused compile_firmware() function
* Update docker util script and travis to use new base containerzvecr2019-07-143-3/+3
|
* Switch version incrementing to the command put together by @noroadsleft. (#6310)skullydazed2019-07-111-2/+1
| | | | | | | | * Switch version incrementing to the command put together by @noroadsleft. * Update util/travis_compiled_push.sh Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Fix typo in Gentoo docstring (#6303)zjp2019-07-101-1/+1
|
* Add copyright year placeholders to new keyboard script (#6280)fauxpark2019-07-081-0/+13
| | | | | | * Add copyright year placeholders to new keyboard script * More copyright header tweaks
* Fix linux_install.sh script for OpenSuse v 15.1 (#6251)Kenny Hung2019-07-051-1/+1
|
* Install avrdude in Arch/Manjaro Linux (#6132)Yusuke Nakamura2019-06-151-0/+1
| | | | avrdude is require package but not installed by script when arch linux.
* Change from avr-gcc@7 to @8 for MacDanny Nguyen2019-06-051-2/+2
|
* Initial attempt to fix docker creating files as rootzvecr2019-05-312-2/+2
|
* Use qmk docker image for travis CI buildszvecr2019-05-312-0/+14
|
* Clean up duped filenames om qmk.fm (#5822)Mikkel Jeppesen2019-05-281-2/+23
| | | Removes all binaries that don't correspond to an entry in the .keyboards file
* Add Solus support to linux_install.sh scriptchax2019-05-261-0/+1
| | | | added update-repo command before install command
* Add Solus support to linux_install.sh scriptchax2019-05-261-0/+21
|
* Fix arch installs as 8.1 is unavailable and #5456 has been merged (#5857)zvecr2019-05-141-2/+1
|
* Make python a required build dependency (#5784)skullydazed2019-05-064-4/+12
| | | | | | | | * Make python a required build dependency * Add missing color * fixup sabayon linux per @BlitzKraft
* docker_build.sh: Docker requires access to hosts devices (#5063)Robin Hallabro-Kokko2019-05-031-1/+1
| | | | | | | | | * docker_build.sh: Docker requires access to hosts devices This also runs the container interactively which allows the user to interupt the build with Ctrl-C. * docker_build.sh: Mount /dev via $usb_args instead
* If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table ↵Takeshi ISHII2019-05-021-0/+49
| | | | | | | | | | instead of exp() and sin() (#5484) * If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() * Change rgblight breathing table size to be easily selectable. add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
* A better new_project.sh (#5191)fauxpark2019-04-272-70/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * A better new_project.sh * Fix docstrings * Use single quotes for anything not shown to user * Missed this docstring * Simplify get_git_username() Thanks @vomindoraan * chmod +x * Add docstring for print_error() * Break up git username call into multiple lines * Use with statement here * Conform to PEP 8 even more * Turn it back into a shell script * chmod +x again * Update docs to reflect new keyboard generator usage * Tweak wording slightly * Trim trailing whitespace * Don't actually need to escape the newlines here * As I suspected, you can pass shift a number * Prepend ./ to match the other code block * Minor syntax tweaks * The username token has changed * Replace name in the readme too * Make some reasonable assumptions about the presence of Git
* add -yq flags to actually make it noninteractivemechmerlin2019-04-191-1/+1
|
* Travis CI - skip unit tests for documentation changes (#5267)zvecr2019-04-191-0/+22
| | | | | | * Add script to skip tests on non master branches with only docs changes * Review comments - Use 'grep -c' instead of 'wc -l'
* Add vendor and product arguments to atmega32a_program.py - fix hex printzvecr2019-04-121-4/+4
|
* Add vendor and product arguments to atmega32a_program.pyzvecr2019-04-121-19/+24
|
* Fix build detection of keymap and board changeszvecr2019-04-121-4/+6
|
* Revert "Update build instructions and docker file to download submodules" ↵Konstantin Đorđević2019-04-101-1/+1
| | | | | | | | | | | | (#5533) * Revert "Update build instructions and Dockerfile to download submodules" This reverts commit 93210547bd1bfbbb1ffd56801bb81af46af350a5. * Update build tools docs based on feedback * Fix bad link in build tools docs
* Update build instructions and Dockerfile to download submodulesMikhail Goncharov2019-03-301-1/+1
|
* ISP Flashing Guide - atmega32a info (#4993)wanleg2019-03-221-0/+154
| | | | | | * update isp flashing page * update isp flashing page
* Ask for your name when generating a new keyboard (#5214)fauxpark2019-02-261-2/+6
| | | | | | | | | | * Ask for your name when generating a new keyboard * Update docs * Apply suggestions from code review Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Relocate usb_detach to utils (#5121)zvecr2019-02-183-0/+66
| | | | | | * Relocate usb_detach to utils * Relocate usb_detach to utils - fix up files after move
* Remove duplication of ssh keys and fix usage on PR builds (#5013)zvecr2019-02-152-23/+11
|
* docker_build.sh: Run container in interactive mode (#5088)Konstantin Đorđević2019-02-151-1/+2
| | | | | | | | * docker_build.sh: Run container in interactive mode * Add message about QMK Toolbox * Update Docker docs
* Fix travis_compiled_push.sh script issue (#5114)Drashna Jaelre2019-02-121-1/+1
| | | | | | | | * Fix travis_compiled_push.sh script issue * fix typo * properly fix push script
* Remove AUTOGEN and fix Travis Compiled Push scripts (#5077)Drashna Jaelre2019-02-122-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Grab HEX and BIN files from autogen And push them to qmk.fm/compiled * Make autogen copy extension agnostic This way, when travis cl scrpit looks for hex files, it will actually grab bin files, and not hex files for ARM boards * Handle the AUTOGEN in :bin target to properly handle edge cases Both the TADA68 and ATSAM boards generate the hex file and then convert it to a bin file. The changes I made does not handle this well, at all. This removes the hex and replaces it with a bin, if a bin is normally generated. * Revert hex target to original copy command * Check hex and bin separately in compile push script Since I don't know how to script this, well * Simplify push to compiled folder * Further simplify compiled push script * Move AUTOGEN parsing to a more sane location to prevent tech debt Thanks to skully! * Remove AUTOGEN completely, as it's not needed This has the benefit of making everything super simple, since we can pull every hex and bin from the root of the qmk_firmware folder, and move that to th compiled folder. This also removes old and unneeded code, and removes some tech debt that has been accrued, without adding more, in theory.
* Read user input properly in linux_install.sh for Gentoo (#4395)Konstantin Đorđević2018-12-261-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | * Change spaces to tabs on two lines The rest of the file uses tabs * Read user input in a non-terrible, non-hacky way * Remove unnecessary tee call * read -p is not POSIX * Add missing $ to echo GENTOO_WARNING * Replace non-POSIX echo -n with printf * Use cd ... || exit 1 in case git clone fails * Add missing sudo Thanks @snortwolf * Undo replacing tee with >>
* Improve diagnostics for build hashesYan-Fa Li2018-12-251-3/+4
|
* adjust install_avr function to use unzip for broader compatibility (#4596)Peter K. Cawley2018-12-101-2/+3
| | | | | | | | | | | | | | | | | | | | On a laptop with god knows what mandatory security software (Cylance?), running up-to-date Windows 10 with msys2 mingw-64, attempting to install the AVR toolkit results in the following error: ``` 1 [main] 7z (13316) C:\msys32\usr\lib\p7zip\7z.exe: *** fatal error - cygheap base mismatch detected - 0x612A5410/0x2375410. This problem is probably due to using incompatible versions of the cygwin DLL. Search for cygwin1.dll using the Windows Start->Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution. Rebooting is also suggested if you are unable to find another cygwin DLL. ``` This appears to be related in some way, based on my research, to ASLR functionality in security software. Since I'm unable to override whatever is enforcing ASLR on my system, after trying several other approaches (removing other copies of msys-2.0.dll, which is what this is apparently actually referencing, rebasing that file in Windows to address 0x61000000, a few other things) I simply edited the installation shell script to use `unzip` instead of 7zip; `unzip`'s binary does not provoke a mismatch error and the installation proceeds as it should. I'm not aware of the reason why some parts of the install script use `unzip` (e.g. `install_arm`) and others use 7zip, but it seems that for broader compatibility and sparing users on locked down machines the 120 minutes or so of futzing this took me to fix, it might be better to just use `unzip` in all cases. Note: There is another function that uses 7zip, `extract_flip`. The line is `7z -oflip x FlipInstaller.exe`. I'm not sure what this is doing, or whether it's possible to do it with `unzip`, but it produces the same error. I haven't attempted to fix that in this PR, but it might be good to fix it for the same reason.
* Add a better Docker build script + update Dockerfile (#4222)Konstantin Đorđević2018-12-081-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a Docker build script * Add usage and error messages * Add -r to reads Thanks mechmerlin * Add keyboard:keymap form, improve script * Add target argument, change usage forms in script * Add check for more than 3 args in keyboard:keymap:target form * Change Docker base image to debian, use community repo This matches what qmk_compiler uses (https://github.com/qmk/qmk_compiler/blob/master/Dockerfile#L1). I've removed the maintainer as we now have a community build on Docker Hub (https://hub.docker.com/r/qmkfm/qmk_firmware). This Dockerfile will also be maintained by the community. * Change build command format to keyboard:keymap * Call make directly in container run command * Simplify script, remove 3-arg form * Add COPY to Dockerfile so images are usable in and of themselves Also change WORKDIR from /qmk to /qmk_firmware * Add USB pass-through for Linux and docker-machine hosts * Read directly into variables instead of array * Alphabetically sort dependencies in Dockerfile * Set executable bit on util/docker_build.sh * Update Docker docs * Add warning about Docker on Windows * Expand comment in docs * Check docker-machine exit code instead of string * Only match --help with whole arguments * Make script POSIX-compliant * Convert script indentation to tabs