unified implict feature for platform deduction #898
Merged
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.
This changes separate deduction of
address-model
andarchitecture
with a singlex-deduced-platform
(the corresponding rule isplatform
. The purpose of this is to shorten the target path, while keeping it unique for different configurations.The logic of the conditional rule is this:
x-deduced-platform
in the property set, then return that (this is needed for repeated evaluation of conditionals).address-model
orarchitecture
could not be deduced, return nothing.address-model
andarchitecture
properties from the property set, assign deduced values to any if it is empty.x-deduced-platform
. If there's no corresponfing value (e.g. user requested an architecture we don't support for deduction), return nothing.The feature
x-deduced-platform
is composite. Due to that it subsumes properties that constitute it. Meaning,<address-model>32 <x-deduced-platform>x86
corresponds to the pathx86
and notx86/address-model-32
. Which is pretty neat.The
x-
in the namex-deduced-platform
is so that it sorts last.