Skip to content

Commit d0a1bea

Browse files
committed
use updateBuildNumber configuration, updated tests
1 parent 532a859 commit d0a1bea

File tree

11 files changed

+35
-12
lines changed

11 files changed

+35
-12
lines changed

src/GitVersionCore.Tests/BuildAgents/BuildServerBaseTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ public void BuildNumberIsFullSemVer()
5050
buildServer.WriteIntegration(writes.Add, variables);
5151

5252
writes[1].ShouldBe("1.2.3-beta.1+5");
53+
54+
writes = new List<string>();
55+
buildServer.WriteIntegration(writes.Add, variables, false);
56+
writes.ShouldBeEmpty();
5357
}
5458

5559
private class BuildAgent : BuildAgentBase

src/GitVersionCore.Tests/BuildAgents/GitHubActionsTests.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,23 @@ public void ShouldWriteIntegration()
148148
.ShouldBe(string.Join(Environment.NewLine, expected));
149149
}
150150

151+
[Test]
152+
public void ShouldNotWriteIntegration()
153+
{
154+
// Arrange
155+
var vars = new TestableVersionVariables("1.0.0");
156+
157+
var list = new List<string>();
158+
159+
// Assert
160+
environment.GetEnvironmentVariable("GitVersion_Major").ShouldBeNullOrWhiteSpace();
161+
162+
// Act
163+
buildServer.WriteIntegration(s => { list.Add(s); }, vars, false);
164+
165+
list.ShouldBeEmpty();
166+
}
167+
151168
[Test]
152169
public void GetEmptyGenerateSetVersionMessage()
153170
{

src/GitVersionCore.Tests/Configuration/ConfigProviderTests.CanWriteOutEffectiveConfiguration.approved.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,4 @@ ignore:
123123
sha: []
124124
commit-date-format: yyyy-MM-dd
125125
merge-message-formats: {}
126-
update-build-number: false
126+
update-build-number: true

src/GitVersionCore/BuildAgents/CodeBuild.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public override string GetCurrentBranch(bool usingDynamicRepos)
4040
return Environment.GetEnvironmentVariable(EnvironmentVariableName);
4141
}
4242

43-
public override void WriteIntegration(Action<string> writer, VersionVariables variables)
43+
public override void WriteIntegration(Action<string> writer, VersionVariables variables, bool updateBuildNumber = true)
4444
{
4545
base.WriteIntegration(writer, variables);
4646
writer($"Outputting variables to '{file}' ... ");

src/GitVersionCore/BuildAgents/GitLabCi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public override string GetCurrentBranch(bool usingDynamicRepos)
4343

4444
public override bool PreventFetch() => true;
4545

46-
public override void WriteIntegration(Action<string> writer, VersionVariables variables)
46+
public override void WriteIntegration(Action<string> writer, VersionVariables variables, bool updateBuildNumber = true)
4747
{
4848
base.WriteIntegration(writer, variables);
4949
writer($"Outputting variables to '{file}' ... ");

src/GitVersionCore/BuildAgents/Jenkins.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public override bool ShouldCleanUpRemotes()
5858
return IsPipelineAsCode();
5959
}
6060

61-
public override void WriteIntegration(Action<string> writer, VersionVariables variables)
61+
public override void WriteIntegration(Action<string> writer, VersionVariables variables, bool updateBuildNumber = true)
6262
{
6363
base.WriteIntegration(writer, variables);
6464
writer($"Outputting variables to '{file}' ... ");

src/GitVersionCore/Common/IBuildAgent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace GitVersion
66
public interface IBuildAgent
77
{
88
bool CanApplyToCurrentContext();
9-
void WriteIntegration(Action<string> writer, VersionVariables variables);
9+
void WriteIntegration(Action<string> writer, VersionVariables variables, bool updateBuildNumber = true);
1010
string GetCurrentBranch(bool usingDynamicRepos);
1111
bool PreventFetch();
1212
bool ShouldCleanUpRemotes();

src/GitVersionCore/Configuration/ConfigExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +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;
39+
config.UpdateBuildNumber ??= true;
4040

4141
var configBranches = config.Branches.ToList();
4242

@@ -264,7 +264,7 @@ public static EffectiveConfiguration CalculateEffectiveConfiguration(this Config
264264
var patchMessage = configuration.PatchVersionBumpMessage;
265265
var noBumpMessage = configuration.NoBumpMessage;
266266
var commitDateFormat = configuration.CommitDateFormat;
267-
var updateBuildNumber = configuration.UpdateBuildNumber ?? false;
267+
var updateBuildNumber = configuration.UpdateBuildNumber ?? true;
268268

269269
var commitMessageVersionBump = currentBranchConfig.CommitMessageIncrementing ?? configuration.CommitMessageIncrementing.Value;
270270

src/GitVersionCore/Core/BuildAgentBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ protected BuildAgentBase(IEnvironment environment, ILog log)
2828
public virtual bool PreventFetch() => true;
2929
public virtual bool ShouldCleanUpRemotes() => false;
3030

31-
public virtual void WriteIntegration(Action<string> writer, VersionVariables variables)
31+
public virtual void WriteIntegration(Action<string> writer, VersionVariables variables, bool updateBuildNumber = true)
3232
{
33-
if (writer == null)
33+
if (writer == null || !updateBuildNumber)
3434
{
3535
return;
3636
}

src/GitVersionCore/Model/Configuration/EffectiveConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public EffectiveConfiguration(
120120
public IEnumerable<IVersionFilter> VersionFilters { get; private set; }
121121

122122
public string CommitDateFormat { get; private set; }
123-
123+
124124
public bool UpdateBuildNumber { get; private set; }
125125

126126
public int PreReleaseWeight { get; private set; }

src/GitVersionCore/VersionConverters/OutputGenerator/OutputGenerator.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ public class OutputGenerator : IOutputGenerator
1515
private readonly IConsole console;
1616
private readonly IFileSystem fileSystem;
1717
private readonly IOptions<GitVersionOptions> options;
18+
private readonly Lazy<GitVersionContext> versionContext;
1819
private readonly ICurrentBuildAgent buildAgent;
1920

20-
public OutputGenerator(ICurrentBuildAgent buildAgent, IConsole console, IFileSystem fileSystem, IOptions<GitVersionOptions> options)
21+
public OutputGenerator(ICurrentBuildAgent buildAgent, IConsole console, IFileSystem fileSystem, IOptions<GitVersionOptions> options, Lazy<GitVersionContext> versionContext)
2122
{
2223
this.console = console ?? throw new ArgumentNullException(nameof(console));
2324
this.fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
2425
this.options = options ?? throw new ArgumentNullException(nameof(options));
26+
this.versionContext = versionContext;
2527
this.buildAgent = buildAgent;
2628
}
2729

@@ -30,7 +32,7 @@ public void Execute(VersionVariables variables, OutputContext context)
3032
var gitVersionOptions = options.Value;
3133
if (gitVersionOptions.Output.Contains(OutputType.BuildServer))
3234
{
33-
buildAgent?.WriteIntegration(console.WriteLine, variables);
35+
buildAgent?.WriteIntegration(console.WriteLine, variables, versionContext.Value.Configuration.UpdateBuildNumber);
3436
}
3537
if (gitVersionOptions.Output.Contains(OutputType.File))
3638
{

0 commit comments

Comments
 (0)