Skip to content

Commit 4249f04

Browse files
committed
Merge pull request #623 from onovotny/padding-config
Make padding configurable and add padded BuildMetaData
2 parents 07e0be4 + 7174c29 commit 4249f04

File tree

35 files changed

+201
-41
lines changed

35 files changed

+201
-41
lines changed

docs/more-info/variables.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ For the `release/3.0.0` branch of GitVersion it shows:
1010
"PreReleaseTag":"beta.1",
1111
"PreReleaseTagWithDash":"-beta.1",
1212
"BuildMetaData":1,
13+
"BuildMetaDataPadded": "0001",
1314
"FullBuildMetaData":"1.Branch.release/3.0.0.Sha.28c853159a46b5a87e6cc9c4f6e940c59d6bc68a",
1415
"MajorMinorPatch":"3.0.0",
1516
"SemVer":"3.0.0-beta.1",

src/GitVersionCore.Tests/BuildServers/BuildServerBaseTests.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using GitVersion;
4+
using GitVersionCore.Tests;
45
using NUnit.Framework;
56
using Shouldly;
67

@@ -22,7 +23,10 @@ public void BuildNumberIsFullSemVer()
2223

2324
semanticVersion.BuildMetaData.CommitDate = DateTimeOffset.Parse("2014-03-06 23:59:59Z");
2425
semanticVersion.BuildMetaData.Sha = "commitSha";
25-
var variables = VariableProvider.GetVariablesFor(semanticVersion, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDelivery, "ci", false);
26+
27+
var config = new TestEffectiveConfiguration();
28+
29+
var variables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
2630
new BuildServer().WriteIntegration(writes.Add, variables);
2731

2832
writes[1].ShouldBe("1.2.3-beta.1+5");

src/GitVersionCore.Tests/BuildServers/JenkinsMessageGenerationTests.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.IO;
44
using GitVersion;
5+
using GitVersionCore.Tests;
56
using NUnit.Framework;
67
using Shouldly;
78

@@ -54,7 +55,10 @@ static void AssertVariablesAreWrittenToFile(string f)
5455

5556
semanticVersion.BuildMetaData.CommitDate = DateTimeOffset.Parse("2014-03-06 23:59:59Z");
5657
semanticVersion.BuildMetaData.Sha = "commitSha";
57-
var variables = VariableProvider.GetVariablesFor(semanticVersion, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDelivery, "ci", false);
58+
59+
var config = new TestEffectiveConfiguration();
60+
61+
var variables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
5862

5963
var j = new Jenkins(f);
6064

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ continuous-delivery-fallback-tag: ci
55
major-version-bump-message: '\+semver:\s?(breaking|major)'
66
minor-version-bump-message: '\+semver:\s?(feature|minor)'
77
patch-version-bump-message: '\+semver:\s?(fix|patch)'
8+
legacy-semver-padding: 4
9+
build-metadata-padding: 4
810
commit-message-incrementing: Enabled
911
branches:
1012
master:

src/GitVersionCore.Tests/Fixtures/RepositoryFixtureBase.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,7 @@ VersionVariables GetVersion(IRepository repository = null, string commitId = nul
152152
{
153153
var gitVersionContext = new GitVersionContext(repository ?? Repository, configuration, IsForTrackedBranchOnly, commitId);
154154
var executeGitVersion = ExecuteGitVersion(gitVersionContext);
155-
var variables = VariableProvider.GetVariablesFor(executeGitVersion,
156-
gitVersionContext.Configuration.AssemblyVersioningScheme,
157-
gitVersionContext.Configuration.VersioningMode,
158-
gitVersionContext.Configuration.ContinuousDeploymentFallbackTag,
159-
gitVersionContext.IsCurrentCommitTagged);
155+
var variables = VariableProvider.GetVariablesFor(executeGitVersion, gitVersionContext.Configuration, gitVersionContext.IsCurrentCommitTagged);
160156
try
161157
{
162158
return variables;

src/GitVersionCore.Tests/JsonVersionBuilderTests.Json.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"PreReleaseTag":"unstable.4",
66
"PreReleaseTagWithDash":"-unstable.4",
77
"BuildMetaData":5,
8+
"BuildMetaDataPadded":"0005",
89
"FullBuildMetaData":"5.Branch.feature1.Sha.commitSha",
910
"MajorMinorPatch":"1.2.3",
1011
"SemVer":"1.2.3-unstable.4",

src/GitVersionCore.Tests/JsonVersionBuilderTests.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using ApprovalTests;
33
using GitVersion;
4+
using GitVersionCore.Tests;
45
using NUnit.Framework;
56

67
[TestFixture]
@@ -17,7 +18,10 @@ public void Json()
1718
PreReleaseTag = "unstable4",
1819
BuildMetaData = new SemanticVersionBuildMetaData(5, "feature1", "commitSha",DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
1920
};
20-
var variables = VariableProvider.GetVariablesFor(semanticVersion, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDelivery, "ci", false);
21+
22+
var config = new TestEffectiveConfiguration();
23+
24+
var variables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
2125
var json = JsonOutputFormatter.ToJson(variables);
2226
Approvals.Verify(json);
2327
}

src/GitVersionCore.Tests/TestEffectiveConfiguration.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ public TestEffectiveConfiguration(
1818
string majorMessage = null,
1919
string minorMessage = null,
2020
string patchMessage = null,
21-
CommitMessageIncrementMode commitMessageMode = CommitMessageIncrementMode.Enabled) :
21+
CommitMessageIncrementMode commitMessageMode = CommitMessageIncrementMode.Enabled,
22+
int legacySemVerPadding = 4,
23+
int buildMetaDataPadding = 4) :
2224
base(assemblyVersioningScheme, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
2325
branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag,
2426
trackMergeTarget,
2527
majorMessage, minorMessage, patchMessage,
26-
commitMessageMode)
28+
commitMessageMode, legacySemVerPadding, buildMetaDataPadding)
2729
{
2830
}
2931
}

src/GitVersionCore.Tests/VariableProviderTests.ProvidesVariablesInContinuousDeliveryModeForPreRelease.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"PreReleaseTag":"unstable.4",
66
"PreReleaseTagWithDash":"-unstable.4",
77
"BuildMetaData":5,
8+
"BuildMetaDataPadded":"0005",
89
"FullBuildMetaData":"5.Branch.develop.Sha.commitSha",
910
"MajorMinorPatch":"1.2.3",
1011
"SemVer":"1.2.3-unstable.4",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"Major":1,
3+
"Minor":2,
4+
"Patch":3,
5+
"PreReleaseTag":"unstable.4",
6+
"PreReleaseTagWithDash":"-unstable.4",
7+
"BuildMetaData":5,
8+
"BuildMetaDataPadded":"05",
9+
"FullBuildMetaData":"5.Branch.develop.Sha.commitSha",
10+
"MajorMinorPatch":"1.2.3",
11+
"SemVer":"1.2.3-unstable.4",
12+
"LegacySemVer":"1.2.3-unstable4",
13+
"LegacySemVerPadded":"1.2.3-unstable00004",
14+
"AssemblySemVer":"1.2.3.0",
15+
"FullSemVer":"1.2.3-unstable.4+5",
16+
"InformationalVersion":"1.2.3-unstable.4+5.Branch.develop.Sha.commitSha",
17+
"BranchName":"develop",
18+
"Sha":"commitSha",
19+
"NuGetVersionV2":"1.2.3-unstable00004",
20+
"NuGetVersion":"1.2.3-unstable00004",
21+
"CommitDate":"2014-03-06"
22+
}

0 commit comments

Comments
 (0)