Skip to content

Commit dddc014

Browse files
committed
Renamed NewNextVersionCalculator to NewNextVersionCalculator
1 parent 41211b0 commit dddc014

File tree

5 files changed

+48
-54
lines changed

5 files changed

+48
-54
lines changed

GitVersionCore.Tests/GitVersionCore.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
<Compile Include="TestFileSystem.cs" />
121121
<Compile Include="VariableProviderTests.cs" />
122122
<Compile Include="VersionCalculation\BaseVersionCalculatorTests.cs" />
123-
<Compile Include="VersionCalculation\NewNextVersionCalculatorTests.cs" />
123+
<Compile Include="VersionCalculation\NextVersionCalculatorTests.cs" />
124124
<Compile Include="VersionCalculation\Strategies\ConfigNextVersionBaseVersionStrategyTests.cs" />
125125
<Compile Include="GitVersionContextBuilder.cs" />
126126
<Compile Include="VersionCalculation\Strategies\LastTagBaseVersionStrategyTests.cs" />

GitVersionCore.Tests/VersionCalculation/NewNextVersionCalculatorTests.cs

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
using NUnit.Framework;
77
using Shouldly;
88

9-
public class NewNextVersionCalculatorTests
9+
public class NextVersionCalculatorTests
1010
{
1111
[Test]
1212
public void ShouldIncrementVersionBasedOnConfig()
1313
{
1414
var baseCalculator = new TestBaseVersionCalculator(true, true, new SemanticVersion(1), new MockCommit());
1515
var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34e", DateTimeOffset.Now);
16-
var sut = new NewNextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
16+
var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
1717
var config = new Config();
1818
var context = new GitVersionContextBuilder().WithConfig(config).Build();
1919

@@ -27,7 +27,7 @@ public void DoesNotIncrementWhenBaseVersionSaysNotTo()
2727
{
2828
var baseCalculator = new TestBaseVersionCalculator(false, true, new SemanticVersion(1), new MockCommit());
2929
var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34e", DateTimeOffset.Now);
30-
var sut = new NewNextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
30+
var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
3131
var config = new Config();
3232
var context = new GitVersionContextBuilder().WithConfig(config).Build();
3333

@@ -41,7 +41,7 @@ public void AppliesBranchPreReleaseTag()
4141
{
4242
var baseCalculator = new TestBaseVersionCalculator(false, true, new SemanticVersion(1), new MockCommit());
4343
var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now);
44-
var sut = new NewNextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
44+
var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
4545
var context = new GitVersionContextBuilder()
4646
.WithDevelopBranch()
4747
.Build();
@@ -51,27 +51,12 @@ public void AppliesBranchPreReleaseTag()
5151
version.ToString("f").ShouldBe("1.0.0-unstable.1+2");
5252
}
5353

54-
[Test]
55-
public void DoesNotApplyPreReleaseTagWhenBaseVersionSaysNotTo()
56-
{
57-
var baseCalculator = new TestBaseVersionCalculator(false, false, new SemanticVersion(1), new MockCommit());
58-
var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "develop", "b1a34e", DateTimeOffset.Now);
59-
var sut = new NewNextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
60-
var context = new GitVersionContextBuilder()
61-
.WithDevelopBranch()
62-
.Build();
63-
64-
var version = sut.FindVersion(context);
65-
66-
version.ToString("f").ShouldBe("1.0.0+1");
67-
}
68-
6954
[Test]
7055
public void PreReleaseTagCanUseBranchName()
7156
{
7257
var baseCalculator = new TestBaseVersionCalculator(false, true, new SemanticVersion(1), new MockCommit());
7358
var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now);
74-
var sut = new NewNextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
59+
var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData));
7560
var config = new Config();
7661
config.Branches.Add("custom/", new BranchConfig
7762
{

GitVersionCore/GitVersionCore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
<Compile Include="VersionCalculation\IBaseVersionCalculator.cs" />
9999
<Compile Include="VersionCalculation\IMetaDataCalculator.cs" />
100100
<Compile Include="VersionCalculation\MetaDataCalculator.cs" />
101-
<Compile Include="VersionCalculation\NewNextVersionCalculator.cs" />
101+
<Compile Include="VersionCalculation\NextVersionCalculator.cs" />
102102
<Compile Include="VersioningModes\ContinuousDeliveryMode.cs" />
103103
<Compile Include="VersioningModes\ContinuousDeploymentMode.cs" />
104104
<Compile Include="VersioningModes\VersioningMode.cs" />

GitVersionCore/GitVersionFinder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public SemanticVersion FindVersion(GitVersionContext context)
1919
throw new Exception("NextVersion.txt has been depreciated. See https://github.com/ParticularLabs/GitVersion/wiki/GitVersionConfig.yaml-Configuration-File for replacement");
2020
}
2121

22-
return new NewNextVersionCalculator().FindVersion(context);
22+
return new NextVersionCalculator().FindVersion(context);
2323
}
2424

2525
void EnsureMainTopologyConstraints(GitVersionContext context)

GitVersionCore/VersionCalculation/NewNextVersionCalculator.cs renamed to GitVersionCore/VersionCalculation/NextVersionCalculator.cs

Lines changed: 40 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
using System.Text.RegularExpressions;
55
using BaseVersionCalculators;
66

7-
public class NewNextVersionCalculator
7+
public class NextVersionCalculator
88
{
99
IBaseVersionCalculator baseVersionFinder;
1010
IMetaDataCalculator metaDataCalculator;
1111
HighestTagBaseVersionStrategy highestTagBaseVersionStrategy;
1212

13-
public NewNextVersionCalculator(IBaseVersionCalculator baseVersionCalculator = null, IMetaDataCalculator metaDataCalculator = null)
13+
public NextVersionCalculator(IBaseVersionCalculator baseVersionCalculator = null, IMetaDataCalculator metaDataCalculator = null)
1414
{
1515
this.metaDataCalculator = metaDataCalculator ?? new MetaDataCalculator();
1616
highestTagBaseVersionStrategy = new HighestTagBaseVersionStrategy();
@@ -30,43 +30,52 @@ public SemanticVersion FindVersion(GitVersionContext context)
3030
if (baseVersion.ShouldIncrement) IncrementVersion(context, baseVersion);
3131
else Logger.WriteInfo("Skipping version increment");
3232

33-
if (baseVersion.ShouldUpdateTag && !baseVersion.SemanticVersion.PreReleaseTag.HasTag() && !string.IsNullOrEmpty(context.Configuration.Tag))
33+
if (!context.IsCurrentCommitTagged && !baseVersion.SemanticVersion.PreReleaseTag.HasTag() && !string.IsNullOrEmpty(context.Configuration.Tag))
3434
{
35-
var tagToUse = context.Configuration.Tag;
36-
if (tagToUse == "useBranchName")
37-
{
38-
Logger.WriteInfo("Using branch name to calculate version tag");
39-
var name = baseVersion.BranchNameOverride ?? context.CurrentBranch.Name;
40-
tagToUse = name.RegexReplace(context.Configuration.BranchPrefixToTrim, string.Empty, RegexOptions.IgnoreCase);
41-
}
42-
int? number = null;
43-
if (!string.IsNullOrEmpty(context.Configuration.TagNumberPattern))
44-
{
45-
var match = Regex.Match(context.CurrentBranch.CanonicalName, context.Configuration.TagNumberPattern);
46-
var numberGroup = match.Groups["number"];
47-
if (numberGroup.Success)
48-
number = int.Parse(numberGroup.Value);
49-
}
35+
UpdatePreReleaseTag(context, baseVersion);
36+
}
5037

51-
var lastTag = highestTagBaseVersionStrategy.GetVersion(context);
52-
if (number == null &&
53-
lastTag != null &&
54-
!context.IsCurrentCommitTagged &&
55-
MajorMinorPatchEqual(lastTag.SemanticVersion, baseVersion.SemanticVersion) &&
56-
lastTag.SemanticVersion.PreReleaseTag.HasTag())
38+
baseVersion.SemanticVersion.BuildMetaData = metaDataCalculator.Create(baseVersion.BaseVersionSource, context);
39+
40+
return baseVersion.SemanticVersion;
41+
}
42+
43+
void UpdatePreReleaseTag(GitVersionContext context, BaseVersion baseVersion)
44+
{
45+
var tagToUse = context.Configuration.Tag;
46+
if (tagToUse == "useBranchName")
47+
{
48+
Logger.WriteInfo("Using branch name to calculate version tag");
49+
var name = baseVersion.BranchNameOverride ?? context.CurrentBranch.Name;
50+
tagToUse = name.RegexReplace(context.Configuration.BranchPrefixToTrim, string.Empty, RegexOptions.IgnoreCase);
51+
}
52+
int? number = null;
53+
if (!string.IsNullOrEmpty(context.Configuration.TagNumberPattern))
54+
{
55+
var match = Regex.Match(context.CurrentBranch.CanonicalName, context.Configuration.TagNumberPattern);
56+
var numberGroup = match.Groups["number"];
57+
if (numberGroup.Success)
5758
{
58-
number = lastTag.SemanticVersion.PreReleaseTag.Number + 1;
59+
number = int.Parse(numberGroup.Value);
5960
}
61+
}
6062

61-
if (number == null)
62-
number = 1;
63-
64-
baseVersion.SemanticVersion.PreReleaseTag = new SemanticVersionPreReleaseTag(tagToUse, number);
63+
var lastTag = highestTagBaseVersionStrategy.GetVersion(context);
64+
if (number == null &&
65+
lastTag != null &&
66+
!context.IsCurrentCommitTagged &&
67+
MajorMinorPatchEqual(lastTag.SemanticVersion, baseVersion.SemanticVersion) &&
68+
lastTag.SemanticVersion.PreReleaseTag.HasTag())
69+
{
70+
number = lastTag.SemanticVersion.PreReleaseTag.Number + 1;
6571
}
6672

67-
baseVersion.SemanticVersion.BuildMetaData = metaDataCalculator.Create(baseVersion.BaseVersionSource, context);
73+
if (number == null)
74+
{
75+
number = 1;
76+
}
6877

69-
return baseVersion.SemanticVersion;
78+
baseVersion.SemanticVersion.PreReleaseTag = new SemanticVersionPreReleaseTag(tagToUse, number);
7079
}
7180

7281
static bool MajorMinorPatchEqual(SemanticVersion lastTag, SemanticVersion baseVersion)

0 commit comments

Comments
 (0)