H3VR-Modding / Mason

Compiles project directories into BepInEx plugins that utilize Stratum asset loading.
https://h3vr-modding.github.io/Mason
MIT License
4 stars 0 forks source link

Standalone Should Infer Version from Git #6

Open malicean opened 2 years ago

malicean commented 2 years ago

Currently, Git versioning with Thunderstore manifest still causes some redundancy. Version tags in Git do not correspond with the package version, even though this is often the case. The standalone version of Mason should infer versions from Git, with a config to opt out. The version manifest property should not be required when using standalone, but it should still error on patcher.

A possible way to do this is to get all tags for HEAD, filter them into the SemVer-like format used by Thunderstore, then pull the highest version. This should be fed into the compiler. A config entry should be added to specify the prefix that tags use, like how MinVer does it.
It is unknown what should be done about untagged builds. The feature should still work, but the resultant version should not be the same as any tagged build. One solution may be to zero out all components and reserve that version for unreleased builds.