1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Project Sdk="Microsoft.Build.NoTargets/3.5.6">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<!-- Disable central package version management since this project will write the central package version management file -->
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
<!-- Explicitly set the restore sources because this project may run before the build\artifacts folder has been created -->
<RestoreSources>https://api.nuget.org/v3/index.json</RestoreSources>
<RestoreIgnoreFailedSources>true</RestoreIgnoreFailedSources>
<Language>C#</Language>
<DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension>
<GitThisAssembly>true</GitThisAssembly>
</PropertyGroup>
<PropertyGroup>
<SetBuildNumbersDependsOn>
__SetPropertiesFromGit;
GitThisAssembly;
SetGlobalJson;
SetDirectoryPackagesProps;
SetOverallWixVersions
</SetBuildNumbersDependsOn>
<GlobalJsonPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\global.json))</GlobalJsonPath>
<CentralPackageVersionsPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\Directory.Packages.props))</CentralPackageVersionsPath>
<OverallWixVersionsPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\build\wixver.props))</OverallWixVersionsPath>
<GitInfoThisAssemblyFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\..\..\build\ThisAssembly.WixVer.cs))</GitInfoThisAssemblyFile>
</PropertyGroup>
<Target Name="SetGlobalJson"
Inputs="global.json.pp"
Outputs="$(GlobalJsonPath)">
<PropertyGroup>
<!-- https://github.com/NuGet/Home/issues/11784
<GlobaJsonTextHeader>/* DO NOT MODIFY! Auto-generated from internal\SetBuildNumber\global.json.pp */</GlobaJsonTextHeader>
-->
<GlobalJsonText>$([System.IO.File]::ReadAllText(global.json.pp))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{apiversion}', $(ApiVersion)))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{fileversion}', $(FileVersion)))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{fullversion}', $(InformationalVersion)))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{informationalversion}', $(InformationalVersion)))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{height}', $(GitCommits)))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{packageversion}', $(PackageVersion)))</GlobalJsonText>
<GlobalJsonText>$(GlobalJsonText.Replace('{version}', $(Version)))</GlobalJsonText>
</PropertyGroup>
<WriteLinesToFile File="$(GlobalJsonPath)"
Lines="$(GlobaJsonTextHeader);$(GlobalJsonText)"
Overwrite="true"
WriteOnlyWhenDifferent="true" />
<Message Importance="high" Text="$(MSBuildProjectName) -> $(GlobalJsonPath)" />
</Target>
<Target Name="SetDirectoryPackagesProps"
Inputs="Directory.Packages.props.pp"
Outputs="$(CentralPackageVersionsPath)">
<PropertyGroup>
<CentralPackageVersionsTextHeader><!-- DO NOT MODIFY! Auto-generated from internal\SetBuildNumber\Directory.Packages.props.pp --></CentralPackageVersionsTextHeader>
<CentralPackageVersionsText>$([System.IO.File]::ReadAllText(Directory.Packages.props.pp))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{apiversion}', $(ApiVersion)))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{fileversion}', $(FileVersion)))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{fullversion}', $(InformationalVersion)))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{informationalversion}', $(InformationalVersion)))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{height}', $(GitCommits)))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{packageversion}', $(PackageVersion)))</CentralPackageVersionsText>
<CentralPackageVersionsText>$(CentralPackageVersionsText.Replace('{version}', $(Version)))</CentralPackageVersionsText>
</PropertyGroup>
<WriteLinesToFile File="$(CentralPackageVersionsPath)"
Lines="$(CentralPackageVersionsTextHeader);$(CentralPackageVersionsText)"
Overwrite="true"
WriteOnlyWhenDifferent="true" />
<Message Importance="high" Text="$(MSBuildProjectName) -> $(CentralPackageVersionsPath)" />
</Target>
<Target Name="SetOverallWixVersions"
Inputs="wixver.props.pp"
Outputs="$(OverallWixVersionsPath)">
<PropertyGroup>
<OverallWixVersionsTextHeader><!-- DO NOT MODIFY! Auto-generated from internal\SetBuildNumber\wixver.props.pp --></OverallWixVersionsTextHeader>
<OverallWixVersionsText>$([System.IO.File]::ReadAllText(wixver.props.pp))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitBaseVersionMajor}', $(GitBaseVersionMajor)))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitBaseVersionMinor}', $(GitBaseVersionMinor)))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitBaseVersionPatch}', $(GitBaseVersionPatch)))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitCommits}', $(GitCommits)))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitSemVerDashLabel}', $(GitSemVerDashLabel)))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitSha}', $(GitSha)))</OverallWixVersionsText>
<OverallWixVersionsText>$(OverallWixVersionsText.Replace('{GitRepositoryUrl}', $(GitRepositoryUrl.Replace('.git',''))))</OverallWixVersionsText>
</PropertyGroup>
<WriteLinesToFile File="$(OverallWixVersionsPath)"
Lines="$(OverallWixVersionsTextHeader);$(OverallWixVersionsText)"
Overwrite="true"
WriteOnlyWhenDifferent="true" />
<Message Importance="high" Text="$(MSBuildProjectName) -> $(OverallWixVersionsPath)" />
</Target>
<Target Name="SetBuildNumbers"
DependsOnTargets="$(SetBuildNumbersDependsOn)"
BeforeTargets="AfterBuild" />
<ItemGroup>
<PackageReference Include="GitInfo" Version="2.3.0" />
</ItemGroup>
</Project>
|