Open
Description
Currently Build-Module
supports passing an informational version to -SemVer
and it splits it into:
ModuleVersion=Major.Minor.Patch
PrivateData.PSData.Prerelease=PreReleaseTagWithoutDash
and also puts the whole thing into the release notes.
We love that, but are trying to adopt GitVersion and the SemVer 2.0 version numbers for everything else.
Unfortunately, although PowerShell is ok with that, PowerShellGet is not: you can't publish the module:
The Prerelease string 'PullRequest17887.2' contains invalid characters.
Please ensure that only characters 'a-zA-Z0-9' and possibly hyphen ('-') at the beginning are in the Prerelease string.
Note that hyphens aren't really allowed -- they're just willing to ignore ONE at the beginning of the string.
Could you take any valid SemVer 2 version number, like say 1.2.3-beta.4
or 1.2.3-pre-release.2+build24
and:
- strip the non-alphanumeric digits that PowerShellGet won't accept
- zero-pad the number at the end (maybe default to 4 digits?)