Open xoorath opened 5 months ago
Tagging the recipes/bgfx contributors for comment: @RazielXYZ, @RazielZ, @SpaceIm, @franramirez688
Cheers
There was a discussion about versioning bx and bimg in the bgfx discord here that may be of interest: https://discord.com/channels/712512073522872352/712512073522872355/1251747602299359282
I am also discussing in the cpplang slack #conan
channel about best practices WRT breaking apart or consolidating packages: https://cpplang.slack.com/archives/C41CWV9HA/p1718512818727179
I don't think those discussions impact the changes I'm suggesting here yet, but I think it might change what comes after making the version numbers more consistent.
As per change #4, ideally we would move those mappings to the conandata.yml
file under bx_version_mappings
/bimg_version_mapping
(or similar key), with the structure:
bx_version_mappings:
"cci.20230216": "cci.20221116"
etc
(And access them with self.conan_data["bx_version_mappings"][self.version]
)
This way changes in the mapping for unrelated versions do not trigger a new revision and subsequent compilations (As we run a trim_conandata()
hook, docs here)
(Again, thanks a lot for taking the time to update these recipes, we really appreciate it!)
We're also considering and testing consolidating bx and bimg into just bgfx' recipe/package instead of carrying on with them as separate. Any input on if that would be preferable is welcome as well!
Package Name/Version
bgfx/cci.20230216, bimg/cci.20230114, bx/cci.20221116
Changelog
https://github.com/bkaradzic/bgfx
Context about the new update
The recipes for bgfx, bimg and bx currently only have one version each and have a naming pattern
cci.YYYYMMDD
. I'd like to update this to use the actual bgfx version and make a few fixes.bgfx already has a version number with the following format
Change # 1: I would create a new version number that exactly matches the bgfx version from
bgfx/cci.20230216
. I would addbgfx/1.118.8429
which has the same git sha and download link. This is so users ofbgfx/cci.20230216
can migrate to the bgfx version syntax without needing to update their projects beyond that.Change # 2: I would do the same thing for bimg, but the version number would only be the commit number as there is no API version or noted major revision number for the bimg project. I would add
bimg/356
which matches exactly with the existingbimg/cci.20230114
. (this is done with the same process as bgfx using git rev-list --count HEAD)Change # 3: Unfortunately, the existing version bx in the index is
bx/cci.20221116
which does not line up with the latest at the timebgfx/cci.20230216
was created, although it is close. Because of this I would create a new versionbx/1847
which does line up with that version and can be used bybgfx/1.118.8429
. As far as I can tell this should still be safe for most (if not all) users who want to migrate frombgfx/cci.20230216
tobgfx/1.118.8429
, but it isn't quite as clean as I'd like.Change # 4: I would like to make a minor syntax tweak to the bgfx recipe to make it easier for a script I made to automatically update the recipe. The slight tweak looks like this:
By putting the version numbers on their own newline it's a bit easier for me to automatically prepend version numbers.
Change # 5: Once the above 4 changes have been accepted and merged in: I would add the head revision of bgfx to the index.