Skip to content

Commit 178fbde

Browse files
committed
Add UpdateBuildNumber configuration value
- Add an bool value to allow tuning on BuildNumber Replacement when no Variable found in the value of BuildNumber
1 parent c55bc2c commit 178fbde

File tree

6 files changed

+14
-3
lines changed

6 files changed

+14
-3
lines changed

src/GitVersionCore.Tests/CommitDateTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void CommitDateFormatTest(string format, string expectedOutcome)
3030
},
3131
new EffectiveConfiguration(
3232
AssemblyVersioningScheme.MajorMinorPatch, AssemblyFileVersioningScheme.MajorMinorPatch, "", "", "", VersioningMode.ContinuousDelivery, "", "", "", IncrementStrategy.Inherit,
33-
"", true, "", "", false, "", "", "", "", CommitMessageIncrementMode.Enabled, 4, 4, 4, Enumerable.Empty<IVersionFilter>(), false, true, format, 0)
33+
"", true, "", "", false, "", "", "", "", CommitMessageIncrementMode.Enabled, 4, 4, 4, Enumerable.Empty<IVersionFilter>(), false, true, format, false, 0)
3434
);
3535

3636
Assert.That(formatValues.CommitDate, Is.EqualTo(expectedOutcome));

src/GitVersionCore.Tests/Helpers/TestEffectiveConfiguration.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,15 @@ public TestEffectiveConfiguration(
3636
IEnumerable<IVersionFilter> versionFilters = null,
3737
bool tracksReleaseBranches = false,
3838
bool isRelease = false,
39-
string commitDateFormat = "yyyy-MM-dd") :
39+
string commitDateFormat = "yyyy-MM-dd",
40+
bool updateBuildNumber = false) :
4041
base(assemblyVersioningScheme, assemblyFileVersioningScheme, assemblyInformationalFormat, assemblyVersioningFormat, assemblyFileVersioningFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
4142
branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag,
4243
trackMergeTarget,
4344
majorMessage, minorMessage, patchMessage, noBumpMessage,
4445
commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceVersionSourcePadding,
4546
versionFilters ?? Enumerable.Empty<IVersionFilter>(),
46-
tracksReleaseBranches, isRelease, commitDateFormat, 0)
47+
tracksReleaseBranches, isRelease, commitDateFormat, updateBuildNumber, 0)
4748
{
4849
}
4950
}

src/GitVersionCore/Configuration/Config.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ private static T MergeObjects<T>(T target, T source)
117117
[YamlMember(Alias = "merge-message-formats")]
118118
public Dictionary<string, string> MergeMessageFormats { get; set; } = new Dictionary<string, string>();
119119

120+
[YamlMember(Alias = "update-build-number ")]
121+
public bool? UpdateBuildNumber { get; set; }
122+
120123
public override string ToString()
121124
{
122125
var stringBuilder = new StringBuilder();

src/GitVersionCore/Configuration/ConfigExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public static void Reset(this Config config)
3434
config.BuildMetaDataPadding ??= 4;
3535
config.CommitsSinceVersionSourcePadding ??= 4;
3636
config.CommitDateFormat ??= "yyyy-MM-dd";
37+
config.UpdateBuildNumber ??= false;
3738

3839
var configBranches = config.Branches.ToList();
3940

src/GitVersionCore/Configuration/EffectiveConfiguration.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public EffectiveConfiguration(
3535
bool tracksReleaseBranches,
3636
bool isCurrentBranchRelease,
3737
string commitDateFormat,
38+
bool updateBuildNumber,
3839
int preReleaseWeight)
3940
{
4041
AssemblyVersioningScheme = assemblyVersioningScheme;
@@ -64,6 +65,7 @@ public EffectiveConfiguration(
6465
TracksReleaseBranches = tracksReleaseBranches;
6566
IsCurrentBranchRelease = isCurrentBranchRelease;
6667
CommitDateFormat = commitDateFormat;
68+
UpdateBuildNumber = updateBuildNumber;
6769
PreReleaseWeight = preReleaseWeight;
6870
}
6971

@@ -119,6 +121,8 @@ public EffectiveConfiguration(
119121
public IEnumerable<IVersionFilter> VersionFilters { get; private set; }
120122

121123
public string CommitDateFormat { get; private set; }
124+
125+
public bool UpdateBuildNumber { get; private set; }
122126

123127
public int PreReleaseWeight { get; private set; }
124128
}

src/GitVersionCore/GitVersionContext.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ private void CalculateEffectiveConfiguration()
137137
var patchMessage = FullConfiguration.PatchVersionBumpMessage;
138138
var noBumpMessage = FullConfiguration.NoBumpMessage;
139139
var commitDateFormat = FullConfiguration.CommitDateFormat;
140+
var updateBuildNumber = FullConfiguration.UpdateBuildNumber ?? false;
140141

141142
var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? FullConfiguration.CommitMessageIncrementing.Value;
142143

@@ -156,6 +157,7 @@ private void CalculateEffectiveConfiguration()
156157
currentBranchConfig.TracksReleaseBranches.Value,
157158
currentBranchConfig.IsReleaseBranch.Value,
158159
commitDateFormat,
160+
updateBuildNumber,
159161
preReleaseWeight);
160162
}
161163

0 commit comments

Comments
 (0)