Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Support SemVer 2.0 Informational Version #110

Open
Jaykul opened this issue Nov 22, 2021 · 1 comment
Open

Feature: Support SemVer 2.0 Informational Version #110

Jaykul opened this issue Nov 22, 2021 · 1 comment
Labels
20 - Enhancement 21 - Hacktoberfest These tickets are particularly easy to do without understanding the whole codebase

Comments

@Jaykul
Copy link
Member

Jaykul commented Nov 22, 2021

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:

  1. strip the non-alphanumeric digits that PowerShellGet won't accept
  2. zero-pad the number at the end (maybe default to 4 digits?)
@Jaykul
Copy link
Member Author

Jaykul commented Nov 22, 2021

Note: there's also a length limit to pre-release strings in nuget 2 -- or is that in PSGet/PowerShell Gallery? Actually, it doesn't matter. The point is that we might need this to be truncated to work, and I'm not sure what I think should happen in that case.

@Jaykul Jaykul added 20 - Enhancement 21 - Hacktoberfest These tickets are particularly easy to do without understanding the whole codebase labels Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
20 - Enhancement 21 - Hacktoberfest These tickets are particularly easy to do without understanding the whole codebase
Projects
None yet
Development

No branches or pull requests

1 participant