Commit Graph

916 Commits

Author SHA1 Message Date
QMK Bot 986ca58e69 Merge remote-tracking branch 'origin/develop' into xap 2023-11-21 15:06:02 +00:00
Sergey Vlasov 7e27d72cbc Fix qmk find failure due to circular imports (#22523)
There was an import cycle in the Python modules:

  - `qmk.build_targets` imported `qmk.cli.generate.compilation_database`;
  - importing `qmk.cli.generate.compilation_database` requires
    initializing `qmk.cli` first;
  - the initialization of `qmk.cli` imported the modules for all CLI
    commands;
  - `qmk.cli.compile` imported `qmk.build_targets`.

This cycle did not matter in most cases, because `qmk.cli` was imported
first, and in that case importing `qmk.cli.generate.compilation_database`
did not trigger the initialization of `qmk.cli` again.  However, there was
one corner case when `qmk.bulld_targets` was getting imported first:

  - The `qmk find` command uses the `multiprocessing` module.
  - The `multiprocessing` module uses the `spawn` start method on macOS
    and Windows.
  - When the `spawn` method is used, the child processes initialize
    without any Python modules loaded, and the required modules are loaded
    on demand by the `pickle` module when receiving the serialized objects
    from the main process.

The result was that the `qmk find` command did not work properly on macOS
(and probably Windows too); it reported exceptions like this:

    ImportError: cannot import name 'KeyboardKeymapBuildTarget' from partially initialized module 'qmk.build_targets' (most likely due to a circular import)

Moving the offending `qmk.cli.generate.compilation_database` import into
the method which actually uses it fixes the problem.
2023-11-21 15:05:29 +00:00
QMK Bot 8ee25dd9f2 Merge remote-tracking branch 'origin/develop' into xap 2023-11-20 15:42:20 +00:00
Joel Challis e279c78ba3 Enable linking of encoders to switch within layout macros (#22264) 2023-11-20 15:41:48 +00:00
QMK Bot a1461fdf05 Merge remote-tracking branch 'origin/develop' into xap 2023-11-18 21:26:30 +00:00
Sergey Vlasov 62cca5c43a qmk find: Fix failure with multiple filters (#22497)
When multiple `-f FILTER` options were specified, `qmk find` did not
return anything at all instead of printing the list of entries that
matched all of the specified filters.

The problem was that the statement in `_filter_keymap_targets()` that
filled `targets` had a wrong indent and therefore was executed for every
filter instead of only once after applying all filters, and
`valid_keymaps` was actually an iterator and therefore could be used
only once.  Moving the statement outside of the loop fixes the problem.
2023-11-19 08:26:00 +11:00
QMK Bot b1d9184cab Merge remote-tracking branch 'origin/develop' into xap 2023-11-15 05:25:30 +00:00
Nick Brassel 4938210711 CLI refactoring for common build target APIs (#22221) 2023-11-15 16:24:54 +11:00
Nick Brassel cc42bb9251 Merge remote-tracking branch 'upstream/develop' into xap 2023-11-11 22:06:56 +11:00
QMK Bot d8176fb0f2 Merge remote-tracking branch 'origin/master' into develop 2023-11-11 09:51:03 +00:00
Nick Brassel 211fbbd16d Add qmk license-check developer-level CLI command. (#22075) 2023-11-11 20:50:33 +11:00
QMK Bot 62f92278f8 Merge remote-tracking branch 'origin/develop' into xap 2023-11-01 22:37:48 +00:00
Joel Challis 8ea955c72f Improve argument handling of c2json (#22170)
* Improve argument handling of c2json

* Add automagic
2023-11-01 22:37:05 +00:00
zvecr 76970e1d98 Add command to produce docs for keyboard/keymap level xap.hjson 2023-11-01 03:04:27 +00:00
QMK Bot 47da199a6e Merge remote-tracking branch 'origin/develop' into xap 2023-11-01 02:12:15 +00:00
Joel Challis b31426252e Generate switch statement helpers for keycode ranges (#20059) 2023-11-01 13:11:42 +11:00
QMK Bot 3040d6cf49 Merge remote-tracking branch 'origin/develop' into xap 2023-11-01 01:27:04 +00:00
Joel Challis fbbb221a31 Implement data driven lighting defaults (#21825) 2023-11-01 01:26:24 +00:00
zvecr 60cf8ba553 Merge remote-tracking branch 'origin/develop' into xap 2023-11-01 01:19:30 +00:00
Joel Challis a19ae3d784 Add dd mapping for hardware based split handedness (#22369) 2023-11-01 00:55:48 +00:00
Joel Challis 17c3182b1c Remove use of broken split.main (#22363) 2023-10-30 00:49:56 +00:00
Joel Challis 559450a099 Fix 'to_c' for config.h mappings (#22364) 2023-10-29 23:41:44 +00:00
Joel Challis 98530cad3b Implement data driven dip switches (#22017)
* Add data driven dip switches

* Autogen weak matrix_mask
2023-10-29 01:09:02 +01:00
QMK Bot 4fd1117fbe Merge remote-tracking branch 'origin/develop' into xap 2023-10-21 00:48:45 +00:00
Joel Challis e4c54a9612 Support additional split sync items for info.json (#22193) 2023-10-21 01:48:05 +01:00
QMK Bot 612b9c2edf Merge remote-tracking branch 'origin/develop' into xap 2023-10-16 22:45:02 +00:00
QMK Bot 20cefe254d Merge remote-tracking branch 'origin/master' into develop 2023-10-16 22:44:27 +00:00
Nick Brassel f6c70c40af Allow for disabling of parallel processing of qmk find and qmk mass-compile. (#22160)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-10-17 09:43:50 +11:00
QMK Bot b8ff2f8bd1 Merge remote-tracking branch 'origin/develop' into xap 2023-10-08 11:46:23 +00:00
QMK Bot 690792eca9 Merge remote-tracking branch 'origin/master' into develop 2023-10-08 11:45:49 +00:00
Joel Challis 7ca652ce6d Flag vial keymaps in 'qmk lint' (#22227) 2023-10-08 12:45:13 +01:00
QMK Bot 4c91fc5bf9 Merge remote-tracking branch 'origin/develop' into xap 2023-10-05 23:35:42 +00:00
QMK Bot 0ca60eb759 Merge remote-tracking branch 'origin/master' into develop 2023-10-05 23:35:02 +00:00
Nick Brassel 127560ae22 Add qmk ci-validate-aliases (#22205) 2023-10-06 10:34:23 +11:00
QMK Bot cc89d98b32 Merge remote-tracking branch 'origin/develop' into xap 2023-09-28 20:49:29 +00:00
QMK Bot a268437f17 Merge remote-tracking branch 'origin/master' into develop 2023-09-28 20:48:55 +00:00
Nick Brassel c5706ef791 Allow for qmk mass-compile all:<keymap> (#22116)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-09-29 06:48:20 +10:00
QMK Bot 5bfbb007ef Merge remote-tracking branch 'origin/develop' into xap 2023-09-28 10:50:14 +00:00
QMK Bot f4677c866e Merge remote-tracking branch 'origin/master' into develop 2023-09-28 10:49:40 +00:00
Nick Brassel fb0c64a567 Allow inline generation of compile_commands.json while doing a qmk compile, using --compiledb (#21549) 2023-09-28 11:48:58 +01:00
QMK Bot 35079d1fb0 Merge remote-tracking branch 'origin/develop' into xap 2023-09-27 02:58:10 +00:00
Joel Challis 4e86dca49d Fix parsing/validation for 21939 (#22148) 2023-09-27 03:57:37 +01:00
QMK Bot 1e1dd78cfc Merge remote-tracking branch 'origin/develop' into xap 2023-09-23 03:08:52 +00:00
QMK Bot ac3a1c3569 Merge remote-tracking branch 'origin/master' into develop 2023-09-23 03:08:19 +00:00
Nick Brassel 73ffa4594d Fix up qmk mass-compile makefile indenting. (#22115) 2023-09-23 13:07:38 +10:00
QMK Bot 025d8d3739 Merge remote-tracking branch 'origin/develop' into xap 2023-09-22 02:13:27 +00:00
QMK Bot 8ea8b80b85 Merge remote-tracking branch 'origin/master' into develop 2023-09-22 02:12:53 +00:00
Nick Brassel abd432fd7a Allow for qmk compile -kb all. (#22022) 2023-09-22 12:12:20 +10:00
QMK Bot 0f8eaab1bb Merge remote-tracking branch 'origin/develop' into xap 2023-09-14 20:39:53 +00:00
QMK Bot 24a922b54b Merge remote-tracking branch 'origin/master' into develop 2023-09-14 20:39:17 +00:00