Open-CMSIS-Pack / cpackget

Open-CMSIS-Pack Package Installer
Apache License 2.0
24 stars 15 forks source link

[cpackget] introduce pack version range qualifier `~` : equal or higher with same major and minor version (patches only) #336

Closed jkrech closed 3 months ago

jkrech commented 3 months ago

Describe The Problem To Be Solved See recent update of CMSIS Solution project format - pack name conventions:

There is two ways to specify a compatible pack version range:

[vendor ::] pack-name@^version        # If specified, with version equal or higher but same major version
[vendor ::] pack-name@~version        # If specified, with version equal or higher but same major and minor version

as a result, the command csolution list packs <solutionname>.csolution.yml -m will provide the corresponding output to be used by cpackget add -f <packlist>.txt using the above version modifiers.

@^version is already implemented however @~version was valid in a previous version but is currently not accepted. Note that for this new implementation both the max and min versions must remain unchanged and only the patch is equal or higher than specified. Semantically this does not allow pack versions with new features but only bug fixes.