Instead of forcing a tag structure upon consumers---the reason for this project's creation to begin with---Verlite should be agnostic, and be configurable, but provide sane defaults. This flexibility is intended to allow the adoption of Verlite without necessitating a change to the structure of existing versions.
For this reason, I believe the following options should be added to VersionCalculationOptions:
public enum PhaseSeperatorRule
{
Alphanumeric = default,
Numeric = 1,
}
public class VersionCalculationOptions
{
// ...
public PhaseSeperatorRule PhaseSeperationRule { get; set; } = default;
public string PhaseSeperator { get; set; } = ".";
}
This would then allow CD prebuilds to go out structured as 1.0.0-alpha1 instead of 1.0.0-alpha.1 (taking care to ensure 1.0.0-rc.2.1 on tagged prereleases is retained with the Numeric option).
Instead of forcing a tag structure upon consumers---the reason for this project's creation to begin with---Verlite should be agnostic, and be configurable, but provide sane defaults. This flexibility is intended to allow the adoption of Verlite without necessitating a change to the structure of existing versions.
For this reason, I believe the following options should be added to
VersionCalculationOptions:This would then allow CD prebuilds to go out structured as
1.0.0-alpha1instead of1.0.0-alpha.1(taking care to ensure1.0.0-rc.2.1on tagged prereleases is retained with theNumericoption).