Skip to content

Commit 3d90664

Browse files
committed
Mode now changes the variables created and used by GitVersion
1 parent 3545141 commit 3d90664

18 files changed

+92
-67
lines changed

BREAKING CHANGES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
v3.0.0
2+
- `AssemblyFileSemVer` variable removed, AssemblyVersioningScheme configuration value makes this variable obsoluete
3+
- `ClassicVersion` variable removed,
4+
- `ClassicVersionWithTag` variable removed, as above
5+
- MSBuild task arguments (AssemblyVersioningScheme, DevelopBranchTag, ReleaseBranchTag, TagPrefix, NextVersion) have been removed, use GitVersionConfig.yaml instead

GitVersion.sln

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersionCore.Tests", "Git
1313
EndProject
1414
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3EFFC5D6-88D0-49D9-BB53-E1B7EB49DD45}"
1515
ProjectSection(SolutionItems) = preProject
16+
BREAKING CHANGES.md = BREAKING CHANGES.md
17+
GitVersionConfig.yaml = GitVersionConfig.yaml
1618
LICENSE = LICENSE
1719
README.md = README.md
1820
EndProjectSection

GitVersionConfig.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
assembly-versioning-scheme: MajorMinor
2-
next-version: 2.0.0
1+
assembly-versioning-scheme: MajorMinorPatch
2+
next-version: 3.0.0

GitVersionCore.Tests/JsonVersionBuilderTests.Json.approved.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,8 @@
1111
"LegacySemVer":"1.2.3-unstable4",
1212
"LegacySemVerPadded":"1.2.3-unstable0004",
1313
"AssemblySemVer":"1.2.3.0",
14-
"AssemblyFileSemVer":"1.2.3.0",
1514
"FullSemVer":"1.2.3-unstable.4+5",
1615
"InformationalVersion":"1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha",
17-
"ClassicVersion":"1.2.3.5",
18-
"ClassicVersionWithTag":"1.2.3.5-unstable.4",
1916
"BranchName":"feature1",
2017
"Sha":"commitSha",
2118
"NuGetVersionV2":"1.2.3-unstable0004",
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"Major":1,
3+
"Minor":2,
4+
"Patch":3,
5+
"PreReleaseTag":"unstable.4",
6+
"PreReleaseTagWithDash":"-unstable.4",
7+
"BuildMetaData":5,
8+
"FullBuildMetaData":"5.Branch.develop.Sha.commitSha",
9+
"MajorMinorPatch":"1.2.3",
10+
"SemVer":"1.2.3-unstable.4",
11+
"LegacySemVer":"1.2.3-unstable4",
12+
"LegacySemVerPadded":"1.2.3-unstable0004",
13+
"AssemblySemVer":"1.2.3.0",
14+
"FullSemVer":"1.2.3-unstable.4+5",
15+
"InformationalVersion":"1.2.3-unstable.4+5.Branch.develop.Sha.commitSha",
16+
"BranchName":"develop",
17+
"Sha":"commitSha",
18+
"NuGetVersionV2":"1.2.3-unstable0004",
19+
"NuGetVersion":"1.2.3-unstable0004"
20+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"Major":1,
3+
"Minor":2,
4+
"Patch":3,
5+
"PreReleaseTag":"unstable.4",
6+
"PreReleaseTagWithDash":"-unstable.4",
7+
"BuildMetaData":5,
8+
"FullBuildMetaData":"5.Branch.develop.Sha.commitSha",
9+
"MajorMinorPatch":"1.2.3",
10+
"SemVer":"1.2.3.5-unstable.4",
11+
"LegacySemVer":"1.2.3.5-unstable4",
12+
"LegacySemVerPadded":"1.2.3.5-unstable0004",
13+
"AssemblySemVer":"1.2.3.0",
14+
"FullSemVer":"1.2.3.5-unstable.4",
15+
"InformationalVersion":"1.2.3.5-unstable.4+5.Branch.develop.Sha.commitSha",
16+
"BranchName":"develop",
17+
"Sha":"commitSha",
18+
"NuGetVersionV2":"1.2.3.5-unstable0004",
19+
"NuGetVersion":"1.2.3.5-unstable0004"
20+
}

GitVersionCore.Tests/VariableProviderTests.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
using System;
2+
using ApprovalTests;
23
using GitVersion;
34
using NUnit.Framework;
4-
using Shouldly;
55

66
[TestFixture]
77
public class VariableProviderTests
88
{
99
[Test]
10-
public void DevelopBranchFormatsSemVerForCiFeed()
10+
public void ProvidesVariablesInContinuousDeliveryMode()
1111
{
1212
var semVer = new SemanticVersion
1313
{
@@ -21,10 +21,28 @@ public void DevelopBranchFormatsSemVerForCiFeed()
2121
semVer.BuildMetaData.Sha = "commitSha";
2222
semVer.BuildMetaData.CommitDate = DateTimeOffset.Parse("2014-03-06 23:59:59Z");
2323

24-
2524
var vars = VariableProvider.GetVariablesFor(semVer, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDelivery);
2625

27-
vars.SemVer.ShouldBe("1.2.3.5-unstable");
26+
Approvals.Verify(JsonOutputFormatter.ToJson(vars));
2827
}
2928

29+
[Test]
30+
public void ProvidesVariablesInContinuousDeploymentMode()
31+
{
32+
var semVer = new SemanticVersion
33+
{
34+
Major = 1,
35+
Minor = 2,
36+
Patch = 3,
37+
PreReleaseTag = "unstable.4",
38+
BuildMetaData = "5.Branch.develop"
39+
};
40+
41+
semVer.BuildMetaData.Sha = "commitSha";
42+
semVer.BuildMetaData.CommitDate = DateTimeOffset.Parse("2014-03-06 23:59:59Z");
43+
44+
var vars = VariableProvider.GetVariablesFor(semVer, AssemblyVersioningScheme.MajorMinorPatch, VersioningMode.ContinuousDeployment);
45+
46+
Approvals.Verify(JsonOutputFormatter.ToJson(vars));
47+
}
3048
}

GitVersionCore/AssemblyVersionsGenerator.cs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,6 @@ public static string GetAssemblyVersion(
2323
}
2424

2525
}
26-
public static string GetAssemblyFileVersion(
27-
this SemanticVersion sv,
28-
AssemblyVersioningScheme scheme)
29-
{
30-
switch (scheme)
31-
{
32-
case AssemblyVersioningScheme.Major:
33-
case AssemblyVersioningScheme.MajorMinor:
34-
case AssemblyVersioningScheme.MajorMinorPatch:
35-
return string.Format("{0}.{1}.{2}.0", sv.Major, sv.Minor, sv.Patch);
36-
case AssemblyVersioningScheme.MajorMinorPatchMetadata:
37-
return string.Format("{0}.{1}.{2}.{3}", sv.Major, sv.Minor, sv.Patch, sv.BuildMetaData.CommitsSinceTag ?? 0);
38-
default:
39-
throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme");
40-
}
41-
42-
}
4326

4427
}
4528
}

GitVersionCore/OutputVariables/CiFeedFormatter.cs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,23 @@ public string Format(string format, object arg, IFormatProvider formatProvider)
2222
case "sp":
2323
case "f":
2424
case "fp":
25-
return string.Format("{0}.{1}{2}", semanticVersion.ToString("j"),
25+
return string.Format("{0}.{1}-{2}", semanticVersion.ToString("j"),
2626
semanticVersion.BuildMetaData.CommitsSinceTag ?? 0,
27-
semanticVersion.PreReleaseTag.HasTag() ? "-" + semanticVersion.PreReleaseTag.Name: null);
27+
semanticVersion.PreReleaseTag);
28+
case "l":
29+
case "lp":
30+
return string.Format("{0}.{1}-{2}", semanticVersion.ToString("j"),
31+
semanticVersion.BuildMetaData.CommitsSinceTag ?? 0,
32+
semanticVersion.PreReleaseTag.ToString(format));
33+
case "i":
34+
{
35+
var buildMetadata = semanticVersion.BuildMetaData.ToString("f");
36+
37+
return string.Format("{0}.{1}-{2}{3}", semanticVersion.ToString("j"),
38+
semanticVersion.BuildMetaData.CommitsSinceTag ?? 0,
39+
semanticVersion.PreReleaseTag,
40+
string.IsNullOrEmpty(buildMetadata) ? string.Empty : "+" + buildMetadata);
41+
}
2842
default:
2943
return semanticVersion.ToString(format);
3044
}

GitVersionCore/OutputVariables/VariableProvider.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ public static class VariableProvider
55
public static VersionVariables GetVariablesFor(SemanticVersion semanticVersion, AssemblyVersioningScheme assemblyVersioningScheme, VersioningMode mode)
66
{
77
var bmd = semanticVersion.BuildMetaData;
8-
var formatter = bmd.Branch == "develop" ? new CiFeedFormatter() : null;
8+
var formatter = mode == VersioningMode.ContinuousDeployment ? new CiFeedFormatter() : null;
99

10-
var classicVersionWithTag = string.Format("{0}.{1}{2}", semanticVersion.ToString("j"), bmd.CommitsSinceTag ?? 0, semanticVersion.PreReleaseTag.HasTag() ? "-" + semanticVersion.PreReleaseTag : null);
1110
var variables = new VersionVariables(
1211
major: semanticVersion.Major.ToString(),
1312
minor: semanticVersion.Minor.ToString(),
@@ -21,11 +20,8 @@ public static VersionVariables GetVariablesFor(SemanticVersion semanticVersion,
2120
legacySemVer: semanticVersion.ToString("l", formatter),
2221
legacySemVerPadded: semanticVersion.ToString("lp", formatter),
2322
assemblySemVer: semanticVersion.GetAssemblyVersion(assemblyVersioningScheme),
24-
assemblyFileSemVer: semanticVersion.GetAssemblyFileVersion(assemblyVersioningScheme),
2523
fullSemVer: semanticVersion.ToString("f", formatter),
2624
informationalVersion: semanticVersion.ToString("i", formatter),
27-
classicVersion: string.Format("{0}.{1}", semanticVersion.ToString("j"), (bmd.CommitsSinceTag ?? 0)),
28-
classicVersionWithTag: classicVersionWithTag,
2925
branchName: bmd.Branch,
3026
sha: bmd.Sha);
3127

GitVersionCore/OutputVariables/VersionVariables.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
public class VersionVariables : IEnumerable<KeyValuePair<string, string>>
88
{
9-
public VersionVariables(string major, string minor, string patch, string buildMetaData, string fullBuildMetaData, string branchName, string sha, string majorMinorPatch, string semVer, string legacySemVer, string legacySemVerPadded, string fullSemVer, string assemblySemVer, string assemblyFileSemVer, string classicVersion, string classicVersionWithTag, string preReleaseTag, string preReleaseTagWithDash, string informationalVersion)
9+
public VersionVariables(string major, string minor, string patch, string buildMetaData, string fullBuildMetaData, string branchName, string sha, string majorMinorPatch, string semVer, string legacySemVer, string legacySemVerPadded, string fullSemVer, string assemblySemVer, string preReleaseTag, string preReleaseTagWithDash, string informationalVersion)
1010
{
1111
Major = major;
1212
Minor = minor;
@@ -21,9 +21,6 @@ public VersionVariables(string major, string minor, string patch, string buildMe
2121
LegacySemVerPadded = legacySemVerPadded;
2222
FullSemVer = fullSemVer;
2323
AssemblySemVer = assemblySemVer;
24-
AssemblyFileSemVer = assemblyFileSemVer;
25-
ClassicVersion = classicVersion;
26-
ClassicVersionWithTag = classicVersionWithTag;
2724
PreReleaseTag = preReleaseTag;
2825
PreReleaseTagWithDash = preReleaseTagWithDash;
2926
InformationalVersion = informationalVersion;
@@ -41,11 +38,8 @@ public VersionVariables(string major, string minor, string patch, string buildMe
4138
public string LegacySemVer { get; private set; }
4239
public string LegacySemVerPadded { get; private set; }
4340
public string AssemblySemVer { get; private set; }
44-
public string AssemblyFileSemVer { get; private set; }
4541
public string FullSemVer { get; private set; }
4642
public string InformationalVersion { get; private set; }
47-
public string ClassicVersion { get; private set; }
48-
public string ClassicVersionWithTag { get; private set; }
4943
public string BranchName { get; private set; }
5044
public string Sha { get; private set; }
5145

GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ using System;
33
using System.Reflection;
44

55
[assembly: AssemblyVersion("2.0.0.0")]
6-
[assembly: AssemblyFileVersion("2.3.4.0")]
6+
[assembly: AssemblyFileVersion("2.0.0.0")]
77
[assembly: AssemblyInformationalVersion("2.3.4+5.Branch.master.Sha.commitSha")]
88
[assembly: ReleaseDate("2014-03-01", "2014-03-06")]
99

@@ -35,11 +35,8 @@ static class GitVersionInformation
3535
public static string LegacySemVer = "2.3.4";
3636
public static string LegacySemVerPadded = "2.3.4";
3737
public static string AssemblySemVer = "2.0.0.0";
38-
public static string AssemblyFileSemVer = "2.3.4.0";
3938
public static string FullSemVer = "2.3.4+5";
4039
public static string InformationalVersion = "2.3.4+5.Branch.master.Sha.commitSha";
41-
public static string ClassicVersion = "2.3.4.5";
42-
public static string ClassicVersionWithTag = "2.3.4.5";
4340
public static string BranchName = "master";
4441
public static string Sha = "commitSha";
4542
public static string NuGetVersionV2 = "2.3.4";

GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ using System;
33
using System.Reflection;
44

55
[assembly: AssemblyVersion("2.3.0.0")]
6-
[assembly: AssemblyFileVersion("2.3.4.0")]
6+
[assembly: AssemblyFileVersion("2.3.0.0")]
77
[assembly: AssemblyInformationalVersion("2.3.4+5.Branch.master.Sha.commitSha")]
88
[assembly: ReleaseDate("2014-03-01", "2014-03-06")]
99

@@ -35,11 +35,8 @@ static class GitVersionInformation
3535
public static string LegacySemVer = "2.3.4";
3636
public static string LegacySemVerPadded = "2.3.4";
3737
public static string AssemblySemVer = "2.3.0.0";
38-
public static string AssemblyFileSemVer = "2.3.4.0";
3938
public static string FullSemVer = "2.3.4+5";
4039
public static string InformationalVersion = "2.3.4+5.Branch.master.Sha.commitSha";
41-
public static string ClassicVersion = "2.3.4.5";
42-
public static string ClassicVersionWithTag = "2.3.4.5";
4340
public static string BranchName = "master";
4441
public static string Sha = "commitSha";
4542
public static string NuGetVersionV2 = "2.3.4";

GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,8 @@ static class GitVersionInformation
3535
public static string LegacySemVer = "2.3.4";
3636
public static string LegacySemVerPadded = "2.3.4";
3737
public static string AssemblySemVer = "2.3.4.0";
38-
public static string AssemblyFileSemVer = "2.3.4.0";
3938
public static string FullSemVer = "2.3.4+5";
4039
public static string InformationalVersion = "2.3.4+5.Branch.master.Sha.commitSha";
41-
public static string ClassicVersion = "2.3.4.5";
42-
public static string ClassicVersionWithTag = "2.3.4.5";
4340
public static string BranchName = "master";
4441
public static string Sha = "commitSha";
4542
public static string NuGetVersionV2 = "2.3.4";

GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchMetadata.approved.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,8 @@ static class GitVersionInformation
3535
public static string LegacySemVer = "2.3.4";
3636
public static string LegacySemVerPadded = "2.3.4";
3737
public static string AssemblySemVer = "2.3.4.5";
38-
public static string AssemblyFileSemVer = "2.3.4.5";
3938
public static string FullSemVer = "2.3.4+5";
4039
public static string InformationalVersion = "2.3.4+5.Branch.master.Sha.commitSha";
41-
public static string ClassicVersion = "2.3.4.5";
42-
public static string ClassicVersionWithTag = "2.3.4.5";
4340
public static string BranchName = "master";
4441
public static string Sha = "commitSha";
4542
public static string NuGetVersionV2 = "2.3.4";

GitVersionTask.Tests/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,8 @@ static class GitVersionInformation
3535
public static string LegacySemVer = "1.2.3-unstable4";
3636
public static string LegacySemVerPadded = "1.2.3-unstable0004";
3737
public static string AssemblySemVer = "1.2.3.0";
38-
public static string AssemblyFileSemVer = "1.2.3.0";
3938
public static string FullSemVer = "1.2.3-unstable.4+5";
4039
public static string InformationalVersion = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha";
41-
public static string ClassicVersion = "1.2.3.5";
42-
public static string ClassicVersionWithTag = "1.2.3.5-unstable.4";
4340
public static string BranchName = "feature1";
4441
public static string Sha = "commitSha";
4542
public static string NuGetVersionV2 = "1.2.3-unstable0004";

GitVersionTask/AssemblyInfoBuilder/AssemblyInfoBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ static class GitVersionInformation
4040
4141
4242
", vars.AssemblySemVer,
43-
vars.AssemblyFileSemVer,
43+
vars.AssemblySemVer,
4444
semanticVersion.ToString("i"),
4545
CachedVersion.MasterReleaseDate.UtcDateTime.ToString("yyyy-MM-dd"),
4646
semanticVersion.BuildMetaData.CommitDate.UtcDateTime.ToString("yyyy-MM-dd"),

GitVersionTask/GetVersion.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,12 @@ public class GetVersion : Task
4848
[Output]
4949
public string AssemblySemVer { get; set; }
5050

51-
[Output]
52-
public string AssemblyFileSemVer { get; set; }
53-
5451
[Output]
5552
public string FullSemVer { get; set; }
5653

5754
[Output]
5855
public string InformationalVersion { get; set; }
5956

60-
[Output]
61-
public string ClassicVersion { get; set; }
62-
63-
[Output]
64-
public string ClassicVersionWithTag { get; set; }
65-
6657
[Output]
6758
public string BranchName { get; set; }
6859

0 commit comments

Comments
 (0)