Skip to content

Commit 0c11af2

Browse files
committed
Introduce AssemblyVersioningScheme.MajorMinor
Fix #180
1 parent 8005430 commit 0c11af2

6 files changed

+68
-0
lines changed

GitVersionCore/AssemblyVersioningScheme.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
public enum AssemblyVersioningScheme
44
{
55
MajorMinorPatch = 0,
6+
MajorMinor,
67
Major,
78
None,
89
}

GitVersionCore/AssemblyVersionsGenerator.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ public static AssemblyMetaData Process(
2222
version = string.Format("{0}.0.0.0", sv.Major);
2323
break;
2424

25+
case AssemblyVersioningScheme.MajorMinor:
26+
version = string.Format("{0}.{1}.0.0", sv.Major, sv.Minor);
27+
break;
28+
2529
case AssemblyVersioningScheme.MajorMinorPatch:
2630
version = GetStrictAssemblyFileVersion(sv, false);
2731
break;
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+

2+
using System;
3+
using System.Reflection;
4+
5+
[assembly: AssemblyVersion("2.3.0.0")]
6+
[assembly: AssemblyFileVersion("2.3.4.0")]
7+
[assembly: AssemblyInformationalVersion("2.3.4+5.Branch.master.Sha.commitSha")]
8+
[assembly: ReleaseDate("2014-03-01", "2014-03-06")]
9+
10+
[System.Runtime.CompilerServices.CompilerGenerated]
11+
sealed class ReleaseDateAttribute : System.Attribute
12+
{
13+
public string OriginalDate { get; private set; }
14+
public string Date { get; private set; }
15+
16+
public ReleaseDateAttribute(string originalDate, string date)
17+
{
18+
OriginalDate = date;
19+
Date = date;
20+
}
21+
}
22+
23+
[System.Runtime.CompilerServices.CompilerGenerated]
24+
static class GitVersionInformation
25+
{
26+
public static string Major = "2";
27+
public static string Minor = "3";
28+
public static string Patch = "4";
29+
public static string PreReleaseTag = "";
30+
public static string PreReleaseTagWithDash = "";
31+
public static string BuildMetaData = "5";
32+
public static string FullBuildMetaData = "5.Branch.master.Sha.commitSha";
33+
public static string MajorMinorPatch = "2.3.4";
34+
public static string SemVer = "2.3.4";
35+
public static string LegacySemVer = "2.3.4";
36+
public static string LegacySemVerPadded = "2.3.4";
37+
public static string AssemblySemVer = "2.3.4.0";
38+
public static string FullSemVer = "2.3.4+5";
39+
public static string InformationalVersion = "2.3.4+5.Branch.master.Sha.commitSha";
40+
public static string ClassicVersion = "2.3.4.5";
41+
public static string ClassicVersionWithTag = "2.3.4.5";
42+
public static string BranchName = "master";
43+
public static string Sha = "commitSha";
44+
public static string AssemblyVersion = "2.3.0.0";
45+
public static string AssemblyFileVersion = "2.3.4.0";
46+
public static string OriginalRelease = "originalCommitSha.2014-03-01 00:00:01Z";
47+
48+
}
49+
50+

Tests/AssemblyInfoBuilderTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ public void VerifyAssemblyVersion_Major()
5252
VerifyAssemblyVersion(AssemblyVersioningScheme.Major);
5353
}
5454

55+
[Test]
56+
[MethodImpl(MethodImplOptions.NoInlining)]
57+
public void VerifyAssemblyVersion_MajorMinor()
58+
{
59+
VerifyAssemblyVersion(AssemblyVersioningScheme.MajorMinor);
60+
}
61+
5562
[Test]
5663
[MethodImpl(MethodImplOptions.NoInlining)]
5764
public void VerifyAssemblyVersion_MajorMinorPatch()

Tests/UpdateAssemblyInfoTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,11 @@ public void StandardExecutionMode_CannotDetermineTheVersionFromADetachedHead()
103103
}
104104

105105
[TestCase("Major")]
106+
[TestCase("MajorMinor")]
106107
[TestCase("MajorMinorPatch")]
107108
[TestCase("None")]
108109
[TestCase("mAjOr")]
110+
[TestCase("mAjOrMiNor")]
109111
[TestCase("mAjOrMiNorpatch")]
110112
[TestCase("NONe")]
111113
public void StandardExecutionMode_CanAcceptAssemblyVersioningSchemes(string assemblyVersioningScheme)

Tests/VariableProviderTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,16 @@ public void DevelopBranchFormatsSemVerForCiFeed()
3737
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.None, false, "1.0.0.0", "2.3.4.0")]
3838
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.Major, true, "2.0.0.0", "2.3.4.5")]
3939
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.Major, false, "2.0.0.0", "2.3.4.0")]
40+
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.MajorMinor, true, "2.3.0.0", "2.3.4.5")]
41+
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.MajorMinor, false, "2.3.0.0", "2.3.4.0")]
4042
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.MajorMinorPatch, true, "2.3.4.0", "2.3.4.5")]
4143
[TestCase(2, 3, 4, "5.Branch.master", AssemblyVersioningScheme.MajorMinorPatch, false, "2.3.4.0", "2.3.4.0")]
4244
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.None, true, "1.0.0.0", "2.3.4.0")]
4345
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.None, false, "1.0.0.0", "2.3.4.0")]
4446
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.Major, true, "2.0.0.0", "2.3.4.0")]
4547
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.Major, false, "2.0.0.0", "2.3.4.0")]
48+
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.MajorMinor, true, "2.3.0.0", "2.3.4.0")]
49+
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.MajorMinor, false, "2.3.0.0", "2.3.4.0")]
4650
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.MajorMinorPatch, true, "2.3.4.0", "2.3.4.0")]
4751
[TestCase(2, 3, 4, "5.Branch.develop", AssemblyVersioningScheme.MajorMinorPatch, false, "2.3.4.0", "2.3.4.0")]
4852
public void AssemblyVersion(

0 commit comments

Comments
 (0)