Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework of qmk compile #13357

Closed
wants to merge 14 commits into from
Closed

Rework of qmk compile #13357

wants to merge 14 commits into from

Conversation

skullydazed
Copy link
Member

@skullydazed skullydazed commented Jun 26, 2021

Description

In draft mode so people can try it out. Feature complete but refactoring to do still.

This adds a new feature to qmk compile: -f <filter>. A filter is a key/value pair that lets you select what to compile instead of using -kb all. They key is dotted json notation, which you can get using qmk info -f dotted -kb <keyboard>, which makes use of the new dotted format.

Example #1, compile all arm boards:

qmk compile -km default -f processor_type=arm

Example #2, compile only arm boards that use the QMK_PROTON_C board definition:

qmk compile -km default -f board=QMK_PROTON_C

Example #3, compile my keymap on every keyboard that supports rgblight:

qmk compile -km skully -f features.rgblight=true

The other major change this makes is to bypass the top-level Makefile to use build_keyboard.mk directly. This is a stepping stone towards doing qmk multibuild with a prettier UI.

Changelist:

  • New argument for qmk compile: --filter
  • New argument for qmk compile: --target
  • We now use build_keyboard.mk directly instead of going through Makefile

Known Bugs

(Checked means it's been fixed.)

  • qmk flash is still the old behavior
  • It can take a while to search all the info.json files

Types of Changes

  • Core
  • Enhancement/optimization

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@skullydazed skullydazed requested a review from a team June 26, 2021 23:53
@github-actions github-actions bot added cli qmk cli command core python and removed core labels Jun 26, 2021
@skullydazed skullydazed force-pushed the qmk_compile_improvements branch from 7509c21 to 26ba83f Compare June 27, 2021 06:39
@stale
Copy link

stale bot commented Aug 13, 2021

Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with awaiting review, breaking_change, in progress, or on hold to prevent the issue from being re-flagged.

@tzarc
Copy link
Member

tzarc commented Feb 14, 2023

Split out as qmk mass-compile as per #18971.

@tzarc tzarc closed this Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants