Skip to content

Commit 7d325a9

Browse files
author
Oren Novotny
committed
Add padded version
1 parent 4f5b42b commit 7d325a9

File tree

29 files changed

+48
-8
lines changed

29 files changed

+48
-8
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ minor-version-bump-message: '\+semver:\s?(feature|minor)'
77
patch-version-bump-message: '\+semver:\s?(fix|patch)'
88
legacy-semver-padding: 4
99
build-metadata-padding: 4
10+
commits-since-lastversion-padding: 4
1011
commit-message-incrementing: Enabled
1112
branches:
1213
master:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3-unstable0004",
2020
"NuGetVersion":"1.2.3-unstable0004",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

src/GitVersionCore.Tests/TestEffectiveConfiguration.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ public TestEffectiveConfiguration(
2121
string patchMessage = null,
2222
CommitMessageIncrementMode commitMessageMode = CommitMessageIncrementMode.Enabled,
2323
int legacySemVerPadding = 4,
24-
int buildMetaDataPadding = 4) :
24+
int buildMetaDataPadding = 4,
25+
int commitsSinceLastVersionPadding = 4) :
2526
base(assemblyVersioningScheme, assemblyInformationalFormat, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch,
2627
branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag,
2728
trackMergeTarget,
2829
majorMessage, minorMessage, patchMessage,
29-
commitMessageMode, legacySemVerPadding, buildMetaDataPadding)
30+
commitMessageMode, legacySemVerPadding, buildMetaDataPadding, commitsSinceLastVersionPadding)
3031
{
3132
}
3233
}

src/GitVersionCore.Tests/TestableVersionVariables.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class TestableVersionVariables : VersionVariables
66
{
7-
public TestableVersionVariables(string major = "", string minor = "", string patch = "", string buildMetaData = "", string buildMetaDataPadded = "", string fullBuildMetaData = "", string branchName = "", string sha = "", string majorMinorPatch = "", string semVer = "", string legacySemVer = "", string legacySemVerPadded = "", string fullSemVer = "", string assemblySemVer = "", string preReleaseTag = "", string preReleaseTagWithDash = "", string informationalVersion = "", string commitDate = "", string nugetVersion = "", string nugetVersionV2 = "", string commitsSinceLastVersion = "") : base(major, minor, patch, buildMetaData, buildMetaDataPadded, fullBuildMetaData, branchName, sha, majorMinorPatch, semVer, legacySemVer, legacySemVerPadded, fullSemVer, assemblySemVer, preReleaseTag, preReleaseTagWithDash, informationalVersion, commitDate, nugetVersion, nugetVersionV2, commitsSinceLastVersion)
7+
public TestableVersionVariables(string major = "", string minor = "", string patch = "", string buildMetaData = "", string buildMetaDataPadded = "", string fullBuildMetaData = "", string branchName = "", string sha = "", string majorMinorPatch = "", string semVer = "", string legacySemVer = "", string legacySemVerPadded = "", string fullSemVer = "", string assemblySemVer = "", string preReleaseTag = "", string preReleaseTagWithDash = "", string informationalVersion = "", string commitDate = "", string nugetVersion = "", string nugetVersionV2 = "", string commitsSinceLastVersion = "", string commitsSinceLastVersionPadded = "") : base(major, minor, patch, buildMetaData, buildMetaDataPadded, fullBuildMetaData, branchName, sha, majorMinorPatch, semVer, legacySemVer, legacySemVerPadded, fullSemVer, assemblySemVer, preReleaseTag, preReleaseTagWithDash, informationalVersion, commitDate, nugetVersion, nugetVersionV2, commitsSinceLastVersion, commitsSinceLastVersionPadded)
88
{
99
}
1010
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3-unstable0004",
2020
"NuGetVersion":"1.2.3-unstable0004",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3-unstable00004",
2020
"NuGetVersion":"1.2.3-unstable00004",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3",
2020
"NuGetVersion":"1.2.3",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3-unstable0005",
2020
"NuGetVersion":"1.2.3-unstable0005",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3-ci0005",
2020
"NuGetVersion":"1.2.3-ci0005",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@
1919
"NuGetVersionV2":"1.2.3",
2020
"NuGetVersion":"1.2.3",
2121
"CommitsSinceLastVersion":5,
22+
"CommitsSinceLastVersionPadded":"0005",
2223
"CommitDate":"2014-03-06"
2324
}

src/GitVersionCore/Configuration/Config.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ public class Config
4141
[YamlMember(Alias = "build-metadata-padding")]
4242
public int? BuildMetaDataPadding { get; set; }
4343

44+
[YamlMember(Alias = "commits-since-lastversion-padding")]
45+
public int? CommitsSinceLastVersionPadding { get; set; }
46+
4447
[YamlMember(Alias = "commit-message-incrementing")]
4548
public CommitMessageIncrementMode? CommitMessageIncrementing { get; set; }
4649

src/GitVersionCore/Configuration/ConfigurationProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public static void ApplyDefaultsTo(Config config)
3434
config.CommitMessageIncrementing = config.CommitMessageIncrementing ?? CommitMessageIncrementMode.Enabled;
3535
config.LegacySemVerPadding = config.LegacySemVerPadding ?? 4;
3636
config.BuildMetaDataPadding = config.BuildMetaDataPadding ?? 4;
37+
config.CommitsSinceLastVersionPadding = config.CommitsSinceLastVersionPadding ?? 4;
3738

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

src/GitVersionCore/EffectiveConfiguration.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ public EffectiveConfiguration(
2020
string patchVersionBumpMessage,
2121
CommitMessageIncrementMode commitMessageIncrementing,
2222
int legacySemVerPaddding,
23-
int buildMetaDataPadding
23+
int buildMetaDataPadding,
24+
int commitsSinceLastVersionPadding
2425
)
2526
{
2627
AssemblyVersioningScheme = assemblyVersioningScheme;
@@ -41,6 +42,7 @@ int buildMetaDataPadding
4142
CommitMessageIncrementing = commitMessageIncrementing;
4243
LegacySemVerPadding = legacySemVerPaddding;
4344
BuildMetaDataPadding = buildMetaDataPadding;
45+
CommitsSinceLastVersionPadding = commitsSinceLastVersionPadding;
4446
}
4547

4648
public VersioningMode VersioningMode { get; private set; }
@@ -81,6 +83,8 @@ int buildMetaDataPadding
8183
public int LegacySemVerPadding { get; private set; }
8284
public int BuildMetaDataPadding { get; private set; }
8385

86+
public int CommitsSinceLastVersionPadding { get; private set; }
87+
8488
public CommitMessageIncrementMode CommitMessageIncrementing { get; private set; }
8589
}
8690
}

src/GitVersionCore/GitVersionContext.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ void CalculateEffectiveConfiguration()
120120
majorMessage, minorMessage, patchMessage,
121121
commitMessageVersionBump,
122122
configuration.LegacySemVerPadding.Value,
123-
configuration.BuildMetaDataPadding.Value);
123+
configuration.BuildMetaDataPadding.Value,
124+
configuration.CommitsSinceLastVersionPadding.Value);
124125
}
125126
}
126127
}

src/GitVersionCore/OutputVariables/VariableProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ public static VersionVariables GetVariablesFor(SemanticVersion semanticVersion,
6262
semverFormatValues.CommitDate,
6363
semverFormatValues.NuGetVersion,
6464
semverFormatValues.NuGetVersionV2,
65-
semverFormatValues.CommitsSinceLastVersion);
65+
semverFormatValues.CommitsSinceLastVersion,
66+
semverFormatValues.CommitsSinceLastVersionPadded);
6667

6768
return variables;
6869
}

src/GitVersionCore/OutputVariables/VersionVariables.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
public class VersionVariables : IEnumerable<KeyValuePair<string, string>>
88
{
99
public VersionVariables(string major, string minor, string patch, string buildMetaData, string buildMetaDataPadded, string fullBuildMetaData, string branchName, string sha, string majorMinorPatch, string semVer, string legacySemVer, string legacySemVerPadded, string fullSemVer, string assemblySemVer, string preReleaseTag, string preReleaseTagWithDash, string informationalVersion,
10-
string commitDate, string nugetVersion, string nugetVersionV2, string commitsSinceLastVersion)
10+
string commitDate, string nugetVersion, string nugetVersionV2, string commitsSinceLastVersion, string commitsSinceLastVersionPadded)
1111
{
1212
Major = major;
1313
Minor = minor;
@@ -30,6 +30,7 @@ public VersionVariables(string major, string minor, string patch, string buildMe
3030
NuGetVersion = nugetVersion;
3131
NuGetVersionV2 = nugetVersionV2;
3232
CommitsSinceLastVersion = commitsSinceLastVersion;
33+
CommitsSinceLastVersionPadded = commitsSinceLastVersionPadded;
3334
}
3435

3536
public string Major { get; private set; }
@@ -52,6 +53,7 @@ public VersionVariables(string major, string minor, string patch, string buildMe
5253
public string NuGetVersionV2 { get; private set; }
5354
public string NuGetVersion { get; private set; }
5455
public string CommitsSinceLastVersion { get; private set; }
56+
public string CommitsSinceLastVersionPadded { get; private set; }
5557

5658
public static IEnumerable<string> AvailableVariables
5759
{

src/GitVersionCore/SemanticVersionFormatValues.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,5 +119,10 @@ public string CommitsSinceLastVersion
119119
{
120120
get { return _semver.BuildMetaData.CommitsSinceLastVersion.ToString(CultureInfo.InvariantCulture); }
121121
}
122-
}
122+
123+
public string CommitsSinceLastVersionPadded
124+
{
125+
get { return _semver.BuildMetaData.CommitsSinceLastVersion.ToString(CultureInfo.InvariantCulture).PadLeft(_config.CommitsSinceLastVersionPadding, '0'); }
126+
}
127+
}
123128
}

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "2.3.4-beta0005";
4242
public static string NuGetVersion = "2.3.4-beta0005";
4343
public static string CommitsSinceLastVersion = "6";
44+
public static string CommitsSinceLastVersionPadded = "0006";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ namespace Fake
4141
public static string NuGetVersionV2 = "1.2.3-unstable0004";
4242
public static string NuGetVersion = "1.2.3-unstable0004";
4343
public static string CommitsSinceLastVersion = "5";
44+
public static string CommitsSinceLastVersionPadded = "0005";
4445
public static string CommitDate = "2014-03-06";
4546
}
4647

src/GitVersionTask/GetVersion.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ public class GetVersion : Task
7777
[Output]
7878
public string CommitsSinceLastVersion { get; set; }
7979

80+
[Output]
81+
public string CommitsSinceLastVersionPadded { get; set; }
82+
8083
TaskLogger logger;
8184
IFileSystem fileSystem;
8285

src/GitVersionTask/NugetAssets/GitVersionTask.targets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
<Output TaskParameter="InformationalVersion" PropertyName="GitVersion_InformationalVersion" />
6161
<Output TaskParameter="CommitDate" PropertyName="GitVersion_CommitDate" />
6262
<Output TaskParameter="CommitsSinceLastVersion" PropertyName="GitVersion_CommitsSinceLastVersion" />
63+
<Output TaskParameter="CommitsSinceLastVersionPadded" PropertyName="GitVersion_CommitsSinceLastVersionPadded" />
6364
</GetVersion>
6465

6566
</Target>

0 commit comments

Comments
 (0)