-
Notifications
You must be signed in to change notification settings - Fork 64
Versioning your package
If no versions are specified for your package, Delphinus will simply install the HEAD-Reference of your Default-Branch (Which is usually MASTER). To add versions, simply add a release for your repository on GitHub, everytime you want to release a new version. This limits Delphinus to install only the most recent version (instead of HEAD) and marks a package for update(if it's installed) when a new version is released.
Delphinus uses the tag of a release as Versionstring. This string is parsed and can contain Major, Minor, Patch and a PreReleaseLabel. It must follow these rules:
- Parser runs from left to right and ignores everything until it hits the first digit (0-9)
- It reads Digits and seperates a Versionnumber (Major, Minor, Patch) when hitting a dot ('.')
- Missing Versionnumbers are filled with zeros internally
- if the last Versionnumber is followed by a dash ('-') everything after the Dash is the PreReleaseLabel
- if a version has a PreReleaseLabel, it is marked as unstable
'1.2.3' = Major: 1, Minor: 2, Patch: 3, PreReleaseLabel: '', IsStable: True
'1.2.3-Beta' = Major: 1, Minor: 2, Patch: 3, PreReleaseLabel: 'Beta', IsStable: False
'1' = Major: 1, Minor: 0, Patch: 0, PreReleaseLabel: '', IsStable: True
'Foo1.2.3' = Major: 1, Minor: 2, Patch: 3, PreReleaseLabel: '', IsStable: True
'1.2.3Beta' = Major: 1, Minor: 2, Patch: 3, PreReleaseLabel: '', IsStable: True
This works similar to Nuget. It first Compares each Versionnumber of one Version with another. If both Versions are identical up to this point, it will do a Textcompare (not casesensitive) on the PreReleaseTable. An empty PreReleaseLabel is higher than any other. Resulting in a stable version always being on top of unstables.
2.1
2
1.9
1.8.9
1.8.9-Foo
1.8.9-Beta
1.8.9-Alpha