@@ -9,7 +9,7 @@ Project global versioning targets.
9
9
<!-- NOTE: The VersionFileAttribute ItemGroup can be used to add assembly-level attributes to the generated version file, ex:
10
10
<VersionFileAttribute Include="[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2243:AttributeStringLiteralsShouldParseCorrectly", Justification = "Justification here")]" />
11
11
-->
12
-
12
+
13
13
<PropertyGroup >
14
14
<VersionFileGenerationEnabled Condition =" '$(VersionFileGenerationEnabled)' == '' AND '$(MSBuildProjectExtension)' == '.csproj'" >true</VersionFileGenerationEnabled >
15
15
<VersionFileGenerationEnabled Condition =" '$(VersionFileGenerationEnabled)' == ''" >false</VersionFileGenerationEnabled >
@@ -19,27 +19,22 @@ Project global versioning targets.
19
19
<VersionStartYear Condition =" '$(VersionStartYear)' == ''" >INVALID_VersionStartYear</VersionStartYear >
20
20
<VersionMajor Condition =" '$(VersionMajor)' == ''" >INVALID_VersionMajor</VersionMajor >
21
21
<VersionMinor Condition =" '$(VersionMinor)' == ''" >INVALID_VersionMinor</VersionMinor >
22
- <VersionBuild Condition =" '$(VersionBuild)' == '' OR '$(VersionBuild)' == '0'" >$([MSBuild]::Add(1, $([MSBuild]::Subtract($([System.DateTime]::Now.Year), $(VersionStartYear)))))$([System.DateTime]::Now.ToString("MMdd"))</VersionBuild >
23
- <VersionRevision Condition =" '$(VersionRevision)' == ''" >0</VersionRevision >
24
22
<VersionRelease Condition =" '$(VersionRelease)' == ''" >0</VersionRelease >
23
+ <VersionRevision Condition =" '$(VersionRevision)' == ''" >0</VersionRevision >
24
+ <VersionBuild Condition =" '$(VersionBuild)' == '' OR '$(VersionBuild)' == '0'" >$([MSBuild]::Add(1, $([MSBuild]::Subtract($([System.DateTime]::Now.Year), $(VersionStartYear)))))$([System.DateTime]::Now.ToString("MMdd"))</VersionBuild >
25
25
</PropertyGroup >
26
26
27
27
<!-- Comptued parameters -->
28
28
29
29
<PropertyGroup >
30
30
<AssemblyVersion >$(VersionMajor).$(VersionMinor).0.$(VersionRevision)</AssemblyVersion >
31
- <AssemblyFileVersion >$(VersionMajor).$(VersionMinor).$(VersionBuild).$(VersionRevision)</AssemblyFileVersion >
32
- <AssemblyInfoVersion Condition =" '$(VersionRelease)' != ''" >$(VersionMajor).$(VersionMinor).$(VersionRelease)-$(VersionBuild)</AssemblyInfoVersion >
33
- <AssemblyInfoVersion Condition =" '$(AssemblyInfoVersion)' == ''" >$(AssemblyFileVersion)</AssemblyInfoVersion >
31
+ <AssemblyFileVersion >$(VersionMajor).$(VersionMinor).$(VersionRelease).$(VersionBuild)</AssemblyFileVersion >
34
32
<AssemblyVersionFile >$(IntermediateOutputPath)$(MSBuildProjectName).version.cs</AssemblyVersionFile >
35
33
</PropertyGroup >
36
34
37
35
<PropertyGroup >
38
36
<NuGetPackageVersion Condition =" '$(NuGetPackageVersion)' == ''" >$(VersionMajor).$(VersionMinor).$(VersionRelease)</NuGetPackageVersion >
39
- </PropertyGroup >
40
-
41
- <PropertyGroup >
42
- <SatelliteContractVersion Condition =" '$(SatelliteContractVersion)' == ''" >$(AssemblyVersion)</SatelliteContractVersion >
37
+ <NuGetPackageVersion Condition =" '$(BuildQuality)' != 'rtm'" >$(NuGetPackageVersion)-$(BuildQuality)</NuGetPackageVersion >
43
38
</PropertyGroup >
44
39
45
40
<ItemGroup Condition =" '$(VersionFileGenerationEnabled)' == 'true'" >
@@ -71,7 +66,22 @@ Project global versioning targets.
71
66
</PropertyGroup >
72
67
<Target Name =" GenerateVersionFile" DependsOnTargets =" $(GenerateVersionFileDependsOn)" />
73
68
74
- <Target Name =" GenerateVersionFileCore" Condition =" '$(ShouldGenerateVersionFile)' == 'true'" >
69
+ <Target Name =" EnsureGitInfo" Condition =" '$(GitCommit)' == ''" >
70
+ <Exec Command =" git describe --match= --always --dirty --abbrev=40" ConsoleToMSBuild =" true" IgnoreExitCode =" false" ContinueOnError =" true" >
71
+ <Output PropertyName =" GitDescribeOutput" TaskParameter =" ConsoleOutput" />
72
+ <Output PropertyName =" GitDescribeExit" TaskParameter =" ExitCode" />
73
+ </Exec >
74
+ <PropertyGroup Condition =" '$(GitDescribeExit)' == '0'" >
75
+ <GitCommit >$(GitDescribeOutput)</GitCommit >
76
+ </PropertyGroup >
77
+ </Target >
78
+
79
+ <Target Name =" GenerateVersionFileCore" Condition =" '$(ShouldGenerateVersionFile)' == 'true'" DependsOnTargets =" EnsureGitInfo" >
80
+ <PropertyGroup >
81
+ <AssemblyInfoVersion Condition =" '$(GitCommit)' != ''" >$(VersionMajor).$(VersionMinor).$(VersionRelease)+$(GitCommit)</AssemblyInfoVersion >
82
+ <AssemblyInfoVersion Condition =" '$(AssemblyInfoVersion)' == '' AND '$(VersionBuild)' != ''" >$(VersionMajor).$(VersionMinor).$(VersionRelease)-$(VersionBuild)</AssemblyInfoVersion >
83
+ <AssemblyInfoVersion Condition =" '$(AssemblyInfoVersion)' == ''" >$(AssemblyFileVersion)</AssemblyInfoVersion >
84
+ </PropertyGroup >
75
85
<ItemGroup >
76
86
<LinesToWrite Include =" // $(SourceFileCopyright)" Condition =" '$(SourceFileCopyright)' != ''" />
77
87
<LinesToWrite Include =" // < auto-generated> " />
0 commit comments