forked from GitTools/GitVersion
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSemanticVersionFormatValues.cs
More file actions
65 lines (37 loc) · 2.73 KB
/
SemanticVersionFormatValues.cs
File metadata and controls
65 lines (37 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System.Globalization;
using GitVersion.Configuration;
using GitVersion.Core;
using GitVersion.Extensions;
namespace GitVersion;
public class SemanticVersionFormatValues(SemanticVersion semver, IGitVersionConfiguration configuration, int preReleaseWeight)
{
public string Major => semver.Major.ToString();
public string Minor => semver.Minor.ToString();
public string Patch => semver.Patch.ToString();
public string PreReleaseTag => semver.PreReleaseTag.ToString();
public string PreReleaseTagWithDash => this.PreReleaseTag.WithPrefixIfNotNullOrEmpty("-");
public string PreReleaseLabel => semver.PreReleaseTag.Name;
public string PreReleaseLabelWithDash => this.PreReleaseLabel.WithPrefixIfNotNullOrEmpty("-");
public string PreReleaseNumber => semver.PreReleaseTag.Number?.ToString() ?? string.Empty;
public string WeightedPreReleaseNumber => semver.PreReleaseTag.Number.HasValue
? $"{semver.PreReleaseTag.Number.Value + preReleaseWeight}" : $"{configuration.TagPreReleaseWeight}";
public string BuildMetaData => semver.BuildMetaData.ToString();
public string FullBuildMetaData => semver.BuildMetaData.ToString("f");
public string MajorMinorPatch => $"{semver.Major}.{semver.Minor}.{semver.Patch}";
public string SemVer => semver.ToString();
public string? AssemblySemVer => semver.GetAssemblyVersion(configuration.AssemblyVersioningScheme!.Value);
public string? AssemblyFileSemVer => semver.GetAssemblyFileVersion(configuration.AssemblyFileVersioningScheme!.Value);
public string FullSemVer => semver.ToString("f");
public string? BranchName => semver.BuildMetaData.Branch;
public string? EscapedBranchName => semver.BuildMetaData.Branch?.RegexReplace(RegexPatterns.SanitizeNameRegexPattern, "-");
public string? Sha => semver.BuildMetaData.Sha;
public string? ShortSha => semver.BuildMetaData.ShortSha;
public string? CommitDate => semver.BuildMetaData.CommitDate?.UtcDateTime.ToString(configuration.CommitDateFormat, CultureInfo.InvariantCulture);
public string InformationalVersion => semver.ToString("i");
public string? VersionSourceSemVer => semver.BuildMetaData.VersionSourceSemVer?.ToString();
public string? VersionSourceSha => semver.BuildMetaData.VersionSourceSha;
[Obsolete("CommitsSinceVersionSource has been deprecated. Use VersionSourceDistance instead.")]
public string CommitsSinceVersionSource => semver.BuildMetaData.VersionSourceDistance.ToString(CultureInfo.InvariantCulture);
public string VersionSourceDistance => semver.BuildMetaData.VersionSourceDistance.ToString(CultureInfo.InvariantCulture);
public string UncommittedChanges => semver.BuildMetaData.UncommittedChanges.ToString(CultureInfo.InvariantCulture);
}