blob: 1170fc62af2ef2b2d408dcc865269098dc4b004a (
plain)
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
116
117
118
119
120
121
122
123
124
125
|
<?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>
<PropertyGroup>
<SigningToolFolder>$(ToolsFolder)</SigningToolFolder>
<SigningToolExe>$(SigningToolFolder)\SignClient.exe</SigningToolExe>
<SigningFilelist>$(SigningToolFolder)\empty-filelist.txt</SigningFilelist>
<SigningConfiguration>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), signing.json))\signing.json</SigningConfiguration>
</PropertyGroup>
<Target Name="__FixupGitBaseVersion" BeforeTargets="_GitPopulateVersionInfo">
<PropertyGroup>
<GitBaseVersion>$(GitBaseVersion.Replace('{apiversion}', '$(ApiVersion)'))</GitBaseVersion>
<GitBaseVersion>$(GitBaseVersion.Replace('{height}', '$(GitCommits)'))</GitBaseVersion>
<GitBaseVersion>$(GitBaseVersion.Replace('{commits}', '$(GitCommits)'))</GitBaseVersion>
</PropertyGroup>
</Target>
<PropertyGroup>
<GetPackageVersionDependsOn>
$(GetPackageVersionDependsOn);
__SetPropertiesFromGit;
</GetPackageVersionDependsOn>
</PropertyGroup>
<Target Name="__SetPropertiesFromGit" DependsOnTargets="GitVersion" Condition=" '$(GitInfoImported)'=='true' ">
<PropertyGroup>
<AssemblyVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).0.0</AssemblyVersion>
<FileVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch).$(GitCommits)</FileVersion>
<PackageVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)</PackageVersion>
<MajorMinorVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor)</MajorMinorVersion>
<Version>$(PackageVersion)</Version>
<InformationalVersion>$(GitBaseVersionMajor).$(GitBaseVersionMinor).$(GitBaseVersionPatch)$(GitSemVerDashLabel)+$(GitSha)</InformationalVersion>
<!-- We already included the $(GitSha) in the informational version so do not include it again. -->
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
<RepositoryUrl Condition=" '$(RepositoryUrl)'=='' and '$(GitRepositoryUrl)'!='' ">$(GitRepositoryUrl.Replace('.git',''))</RepositoryUrl>
<RepositoryType Condition=" '$(RepositoryType)'=='' ">git</RepositoryType>
<RepositoryCommit Condition=" '$(RepositoryCommit)'=='' ">$(GitSha)</RepositoryCommit>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<ProjectUrl Condition=" '$(ProjectUrl)'=='' and '$(RepositoryUrl)'!='' ">$(RepositoryUrl)</ProjectUrl>
</PropertyGroup>
<Message Importance="$(GitInfoReportImportance)" Text="Properties from Git:
GitCommits: $(GitCommits)
AssemblyVersion: $(AssemblyVersion)
FileVersion: $(FileVersion)
InformationalVersion: $(InformationalVersion)
PackageVersion: $(PackageVersion)
" />
</Target>
<PropertyGroup>
<GenerateNuspecDependsOn>
$(GenerateNuspecDependsOn);
__SetPropertiesFromGit;
__SetNuspecProperties
</GenerateNuspecDependsOn>
</PropertyGroup>
<Target Name="__SetNuspecProperties" DependsOnTargets="__SetPropertiesFromGit"
Condition=" Exists('$(MSBuildProjectName).nuspec') ">
<PropertyGroup>
<NuspecFile Condition=" '$(NuspecFile)'=='' ">$(MSBuildProjectName).nuspec</NuspecFile>
<PackageId Condition=" '$(PackageId)'=='' ">$(MSBuildProjectName)</PackageId>
<Title Condition=" '$(Title)'=='' ">$(Description)</Title>
<NuspecBasePath Condition=" '$(NuspecBasePath)'=='' ">$(OutputPath)</NuspecBasePath>
<NuspecProperties>$(NuspecProperties);Id=$(PackageId);Version=$(PackageVersion);Authors=$(Authors);Configuration=$(Configuration)</NuspecProperties>
<NuspecProperties>$(NuspecProperties);Copyright=$(Copyright);Description=$(Description);Title=$(Title)</NuspecProperties>
<NuspecProperties>$(NuspecProperties);RepositoryType=$(RepositoryType);RepositoryCommit=$(RepositoryCommit);RepositoryUrl=$(RepositoryUrl)</NuspecProperties>
<NuspecProperties>$(NuspecProperties);ProjectUrl=$(ProjectUrl);ProjectFolder=$(MSBuildProjectDirectory)</NuspecProperties>
</PropertyGroup>
<Message Importance="$(GitInfoReportImportance)" Text="NuSpec info:
NuspecFile: $(NuspecFile)
NuspecBasePath: $(NuspecBasePath)
NuspecProperties: $(NuspecProperties)
" />
</Target>
<Target Name="PackNative" DependsOnTargets="__SetNuspecProperties"
Condition=" Exists('$(MSBuildProjectName).nuspec') ">
<Error Text="There must be package reference to 'GitInfo'. Ensure the project was restored as well."
Condition=" '$(GitInfoImported)'!='true' " />
<Exec Command='nuget pack $(NuspecFile) -OutputDirectory "$(PackageOutputPath.Trim("\"))" -BasePath $(NuspecBasePath) -Properties "$(NuspecProperties)"'
WorkingDirectory="$(MSBuildProjectDirectory)" />
<ItemGroup>
<NuGetPackOutput Include="$(PackageOutputPath)\$(PackageId).$(PackageVersion).nupkg" />
</ItemGroup>
</Target>
<Target Name="_GetSignClient"
Condition=" !Exists('$(SigningToolExe)') ">
<WriteLinesToFile File='$(SigningFilelist)' Lines='do-not-sign-files-in-nupkg' Overwrite='true' />
<Exec Command='dotnet.exe tool install --tool-path "$(SigningToolFolder)" SignClient' />
</Target>
<Target Name="SignOutput" DependsOnTargets="_GetSignClient" AfterTargets="AfterBuild"
Condition=" '$(SigningUser)'!='' and '$(SignOutput)'!='false' and
('$(MSBuildProjectExtension)'=='.csproj' or ('$(MSBuildProjectExtension)'=='.vcxproj' and '$(ConfigurationType)'!='StaticLibrary'))">
<Exec Command='"$(SigningToolExe)" sign -i $(TargetPath) -c "$(SigningConfiguration)" -n "WiX Toolset" -d "WiX Toolset" -u https://wixtoolset.org/ -r "$(SigningUser)" -s "$(SigningSecret)"'
WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
</Target>
<Target Name="SignNupkg" DependsOnTargets="_GetSignClient" AfterTargets="Pack;PackNative"
Condition=" '$(SigningUser)'!='' and '@(NuGetPackOutput)'!='' and '$(SignNupkg)'!='false' ">
<ItemGroup>
<SigningNupkgs Include="@(NuGetPackOutput)" Condition=" '%(Extension)'=='.nupkg' " />
</ItemGroup>
<Exec Command='"$(SigningToolExe)" sign -i "@(SigningNupkgs->'%(Identity)')" -c "$(SigningConfiguration)" -f "$(SigningFilelist)" -n "WiX Toolset" -d "WiX Toolset" -u https://wixtoolset.org/ -r "$(SigningUser)" -s "$(SigningSecret)"'
WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
</Target>
<Import Project="Directory$(MSBuildProjectExtension).targets" Condition=" Exists('Directory$(MSBuildProjectExtension).targets') " />
<Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " />
</Project>
|