Skip to content

Commit abedac0

Browse files
GeertvanHorrikJakeGinnivan
authored andcommitted
Added additional variables for NuGet (see #201)
1 parent d456fc2 commit abedac0

10 files changed

+47
-1
lines changed

GitVersionCore/OutputVariables/VariableProvider.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ public static class VariableProvider
2727
public const string AssemblyFileVersion = "AssemblyFileVersion";
2828
public const string OriginalRelease = "OriginalRelease";
2929

30+
// Synonyms
31+
public const string Version = "Version";
32+
public const string NuGetVersionV2 = "NuGetVersionV2";
33+
public const string NuGetVersionV3 = "NuGetVersionV3";
34+
public const string NuGetVersion = "NuGetVersion";
35+
3036
public static Dictionary<string, string> GetVariablesFor(
3137
SemanticVersion semanticVersion,
3238
AssemblyVersioningScheme assemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatch,
@@ -67,6 +73,14 @@ public static Dictionary<string, string> GetVariablesFor(
6773
bmd.ReleaseDate.OriginalDate.UtcDateTime.ToString("u"))},
6874
};
6975

76+
// Synonyms to ensure backwards compatibility
77+
variables[Version] = variables[LegacySemVer];
78+
79+
// Use ToLower() to fix a bug where Beta and beta are different in NuGet
80+
variables[NuGetVersionV2] = variables[LegacySemVerPadded].ToLower();
81+
//variables[NuGetVersionV3] = variables[LegacySemVerPadded].ToLower(); // TODO: when v3 is released, determine what to use
82+
variables[NuGetVersion] = variables[NuGetVersionV2];
83+
7084
return variables;
7185
}
7286
}

GitVersionTask/GetVersion.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,15 @@ public class GetVersion : Task
7474
[Output]
7575
public string OriginalRelease { get; set; }
7676

77+
[Output]
78+
public string Version { get; set; }
79+
80+
[Output]
81+
public string NuGetVersionV2 { get; set; }
82+
83+
[Output]
84+
public string NuGetVersion { get; set; }
85+
7786
TaskLogger logger;
7887

7988
public GetVersion()

Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ static class GitVersionInformation
4444
public static string AssemblyVersion = "2.0.0.0";
4545
public static string AssemblyFileVersion = "2.3.4.0";
4646
public static string OriginalRelease = "originalCommitSha.2014-03-01 00:00:01Z";
47+
public static string Version = "2.3.4";
48+
public static string NuGetVersionV2 = "2.3.4";
49+
public static string NuGetVersion = "2.3.4";
4750

4851
}
4952

Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ static class GitVersionInformation
4444
public static string AssemblyVersion = "2.3.0.0";
4545
public static string AssemblyFileVersion = "2.3.4.0";
4646
public static string OriginalRelease = "originalCommitSha.2014-03-01 00:00:01Z";
47+
public static string Version = "2.3.4";
48+
public static string NuGetVersionV2 = "2.3.4";
49+
public static string NuGetVersion = "2.3.4";
4750

4851
}
4952

Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ static class GitVersionInformation
4444
public static string AssemblyVersion = "2.3.4.0";
4545
public static string AssemblyFileVersion = "2.3.4.0";
4646
public static string OriginalRelease = "originalCommitSha.2014-03-01 00:00:01Z";
47+
public static string Version = "2.3.4";
48+
public static string NuGetVersionV2 = "2.3.4";
49+
public static string NuGetVersion = "2.3.4";
4750

4851
}
4952

Tests/AssemblyInfoBuilderTests.VerifyAssemblyVersion_None.approved.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ static class GitVersionInformation
4444
public static string AssemblyVersion = "1.0.0.0";
4545
public static string AssemblyFileVersion = "2.3.4.0";
4646
public static string OriginalRelease = "originalCommitSha.2014-03-01 00:00:01Z";
47+
public static string Version = "2.3.4";
48+
public static string NuGetVersionV2 = "2.3.4";
49+
public static string NuGetVersion = "2.3.4";
4750

4851
}
4952

Tests/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ static class GitVersionInformation
4444
public static string AssemblyVersion = "1.2.3.0";
4545
public static string AssemblyFileVersion = "1.2.3.0";
4646
public static string OriginalRelease = "originalCommitSha.2014-03-01 00:00:01Z";
47+
public static string Version = "1.2.3-unstable4";
48+
public static string NuGetVersionV2 = "1.2.3-unstable0004";
49+
public static string NuGetVersion = "1.2.3-unstable0004";
4750

4851
}
4952

Tests/JsonVersionBuilderTests.Json.approved.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@
1919
"Sha":"commitSha",
2020
"AssemblyVersion":"1.2.3.0",
2121
"AssemblyFileVersion":"1.2.3.0",
22-
"OriginalRelease":"originalCommitSha.2014-03-01 00:00:01Z"
22+
"OriginalRelease":"originalCommitSha.2014-03-01 00:00:01Z",
23+
"Version":"1.2.3-unstable4",
24+
"NuGetVersionV2":"1.2.3-unstable0004",
25+
"NuGetVersion":"1.2.3-unstable0004"
2326
}

Tests/Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
</ItemGroup>
143143
<ItemGroup>
144144
<Content Include="AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt" />
145+
<Content Include="AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt" />
145146
<Content Include="AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt" />
146147
<Content Include="AssemblyInfoBuilderTests.VerifyAssemblyVersion_None.approved.txt" />
147148
<Content Include="AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt" />

Tests/VariableProviderTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,9 @@ public void AssemblyVersion(
7272

7373
vars[VariableProvider.AssemblyVersion].ShouldBe(version);
7474
vars[VariableProvider.AssemblyFileVersion].ShouldBe(fileVersion);
75+
76+
vars[VariableProvider.Version].ShouldBe(vars[VariableProvider.LegacySemVer]);
77+
vars[VariableProvider.NuGetVersionV2].ShouldBe(vars[VariableProvider.LegacySemVerPadded].ToLower());
78+
vars[VariableProvider.NuGetVersion].ShouldBe(vars[VariableProvider.NuGetVersionV2]);
7579
}
7680
}

0 commit comments

Comments
 (0)