Skip to content

Commit f3b688e

Browse files
kirkonearturcic
authored andcommitted
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 c6d8764 commit f3b688e

File tree

5 files changed

+14
-3
lines changed

5 files changed

+14
-3
lines changed

src/GitVersionCore.Tests/Helpers/TestEffectiveConfiguration.cs

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

src/GitVersionCore.Tests/Model/CommitDateTests.cs

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

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

src/GitVersionCore/Configuration/ConfigExtensions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public static void Reset(this Config config)
3636
config.BuildMetaDataPadding ??= 4;
3737
config.CommitsSinceVersionSourcePadding ??= 4;
3838
config.CommitDateFormat ??= "yyyy-MM-dd";
39+
config.UpdateBuildNumber ??= false;
3940

4041
var configBranches = config.Branches.ToList();
4142

@@ -263,6 +264,7 @@ public static EffectiveConfiguration CalculateEffectiveConfiguration(this Config
263264
var patchMessage = configuration.PatchVersionBumpMessage;
264265
var noBumpMessage = configuration.NoBumpMessage;
265266
var commitDateFormat = configuration.CommitDateFormat;
267+
var updateBuildNumber = configuration.UpdateBuildNumber ?? false;
266268

267269
var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? configuration.CommitMessageIncrementing.Value;
268270

@@ -282,6 +284,7 @@ public static EffectiveConfiguration CalculateEffectiveConfiguration(this Config
282284
currentBranchConfig.TracksReleaseBranches.Value,
283285
currentBranchConfig.IsReleaseBranch.Value,
284286
commitDateFormat,
287+
updateBuildNumber,
285288
preReleaseWeight);
286289
}
287290

src/GitVersionCore/Model/Configuration/Config.cs

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

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

src/GitVersionCore/Model/Configuration/EffectiveConfiguration.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public EffectiveConfiguration(
3434
bool tracksReleaseBranches,
3535
bool isCurrentBranchRelease,
3636
string commitDateFormat,
37+
bool updateBuildNumber,
3738
int preReleaseWeight)
3839
{
3940
AssemblyVersioningScheme = assemblyVersioningScheme;
@@ -63,6 +64,7 @@ public EffectiveConfiguration(
6364
TracksReleaseBranches = tracksReleaseBranches;
6465
IsCurrentBranchRelease = isCurrentBranchRelease;
6566
CommitDateFormat = commitDateFormat;
67+
UpdateBuildNumber = updateBuildNumber;
6668
PreReleaseWeight = preReleaseWeight;
6769
}
6870

@@ -118,6 +120,8 @@ public EffectiveConfiguration(
118120
public IEnumerable<IVersionFilter> VersionFilters { get; private set; }
119121

120122
public string CommitDateFormat { get; private set; }
123+
124+
public bool UpdateBuildNumber { get; private set; }
121125

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

0 commit comments

Comments
 (0)