Table of Contents

Property CSemVerCIOnlySupportsBuildMetaOnZeroTimedVersions

Namespace
Ubiquity.NET.Versioning
Assembly
Ubiquity.NET.Versioning.dll

CSemVerCIOnlySupportsBuildMetaOnZeroTimedVersions

Gets or sets a value indicating whether the CSemVerCIOnlySupportsBuildMetaOnZeroTimedVersionsName switch is enabled or not

public static bool CSemVerCIOnlySupportsBuildMetaOnZeroTimedVersions { get; set; }

Property Value

bool

Remarks

The spec is vague on the precise syntax of a CSemVer-CI value and whether a given form can include build meta data. It is at least explicitly allowed for ZeroTimed base values. But it is unclear if it is supposed to be allowed for any "latest release" forms. Sadly, .NET builds using SourceLink will automatically add the build meta if not present so this implementation chooses to assume that is legit. This seems reasonable as the build meta doesn't participate in the ordering of version values and is syntactically compatible with both forms of CSemVer-CI. That is, the default behavior of allowing it has low risk of causing problems, but the reverse can.

As with all AppContext switches the default state of this switch is OFF. Setting it ON, is a manual operation that may use one of the standard mechanisms supported by AppContext using this name. Or, programmatically via the CSemVerCIOnlySupportsBuildMetaOnZeroTimedVersions.