Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Currently
DEFAULT_FOLDER
serves 2 main purposes:make <vendor>/<product>
can be mapped tomake <vendor>/<product>/rev1
rules.mk
creates a build target that only has partial information and cannot be builtUnfortunately an additional purpose has been adopted:
Issues
While the current solution "works", there are a fair few problems this functionality causes:
DEFAULT_FOLDER
to patch up the problemsDEFAULT_FOLDER
to a new revision and not maintain backwards compatibilityDEFAULT_FOLDER
can be set incorrectly (eg on keyboard relocation) and fail to compilerules.mk
gets parsed multiple times netting slower buildsAs keyboard updates generally now require going to
develop
, purpose 1 is mostly mitigated.With the introduction of
keyboard.json
as a build target,rules.mk
can now become pure config. This solves purpose 2.Purpose 3 can use the existing framework of keyboard aliases, but could generally target a solution more user focused (eg fuzzy matching, searching, TUI, etc).
Proposal
This PR aims to...
DEFAULT_FOLDER
functionalityNotes
Currently this PR does change direct
make
invocation to now require the full keyboard revision. This will likely be staged in a later breaking changes cycle to ease the migration.Build is actually slower right now due to the backward compatibility...
Types of Changes
Issues Fixed or Closed by This PR
Checklist