Skip to content

Commit 354b575

Browse files
authored
Merge pull request #1856 from brianrob/dev/brianrob/perfview-nuget-package
Create a NuGet Package For PerfView
2 parents 327af9e + 494b5bd commit 354b575

File tree

5 files changed

+64
-7
lines changed

5 files changed

+64
-7
lines changed

PerfView.sln

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PerfViewCollect", "src\Perf
6565
EndProject
6666
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TraceEventSamples", "src\TraceEvent\Samples\TraceEventSamples.csproj", "{2D5418E0-6513-4285-8B0D-53A30CBEF242}"
6767
EndProject
68-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TraceEventPackageSigning", "src\TraceEventPackageSigning\TraceEventPackageSigning.csproj", "{121D62F5-0BB7-4DB5-8742-454127DF31F4}"
68+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGetPackageSigning", "src\NuGetPackageSigning\NuGetPackageSigning.csproj", "{121D62F5-0BB7-4DB5-8742-454127DF31F4}"
6969
EndProject
7070
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Utilities", "src\Utilities\Utilities.csproj", "{BBF0A803-0B1C-47F2-B60F-09A5C4DB2136}"
7171
EndProject

src/Directory.Build.props

+8
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,12 @@
106106
<NoWarn>$(NoWarn),1573,1591</NoWarn>
107107
</PropertyGroup>
108108

109+
<!--
110+
Don't add synthetic project references for solution dependencies.
111+
This is required to build the PerfView NuGet package.
112+
-->
113+
<PropertyGroup>
114+
<AddSyntheticProjectReferencesForSolutionDependencies>false</AddSyntheticProjectReferencesForSolutionDependencies>
115+
</PropertyGroup>
116+
109117
</Project>

src/TraceEventPackageSigning/TraceEventPackageSigning.csproj src/NuGetPackageSigning/NuGetPackageSigning.csproj

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project Sdk="Microsoft.NET.Sdk">
3-
<!-- This project is here only to support MicroBuild Signing of the Microsoft.Diagnostics.Tracing.TraceEvent package.
4-
In theory this could be rold into the TraceEvent.csproj project, but after several attempts (the last
5-
of which were that the fact that we build for several frameworks, makes it so that it can't seem to load
6-
the microbuild package from the PackageReference element propertly. If we care we can make another
7-
attempt, but this should get us unblocked. See issue https://github.com/Microsoft/perfview/issues/673 for more.
8-
-->
3+
<!-- This project is here only to support MicroBuild Signing of the NuGet packages. -->
94

105
<PropertyGroup>
116
<OutputType>library</OutputType>
@@ -18,6 +13,11 @@
1813
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1914
</None>
2015

16+
<!-- Get the Microsoft.PerfView.*.nuget package we just built -->
17+
<None Include="..\PerfView\bin\$(Configuration)\Microsoft.PerfView.*nupkg">
18+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
19+
</None>
20+
2121
<!-- Get the Microsoft.Diagnostics.TraceEvent.*.nuget package we just built -->
2222
<None Include="..\TraceEvent\bin\$(Configuration)\Microsoft.Diagnostics.Tracing.TraceEvent.*nupkg">
2323
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

src/PerfView/PerfView.csproj

+22
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,28 @@
2222
</AssemblyAttribute>
2323
</ItemGroup>
2424

25+
<!-- Build a NuGet package containing PerfView.exe -->
26+
<PropertyGroup>
27+
<Description>PerfView</Description>
28+
<Company>Microsoft</Company>
29+
<Copyright>Copyright © Microsoft 2010</Copyright>
30+
<Version>$(PerfViewVersion)</Version>
31+
<FileVersion>$(PerfViewVersion)</FileVersion>
32+
<InformationalVersion>$(PerfViewVersion)</InformationalVersion>
33+
<NeutralLanguage>en</NeutralLanguage>
34+
35+
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
36+
37+
<NuspecFile>PerfView.nuspec</NuspecFile>
38+
<GenerateNuspecDependsOn>$(GenerateNuspecDependsOn);SetNuspecProperties</GenerateNuspecDependsOn>
39+
</PropertyGroup>
40+
41+
<Target Name="SetNuspecProperties">
42+
<PropertyGroup>
43+
<NuspecProperties>Configuration=$(Configuration);version=$(PerfViewVersion);OutDir=$(OutputPath)</NuspecProperties>
44+
</PropertyGroup>
45+
</Target>
46+
2547
<ItemGroup>
2648
<SuggestedBindingRedirects Include="Microsoft.Diagnostics.Tracing.TraceEvent, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
2749
<MaxVersion>$(TraceEventVersion).0</MaxVersion>

src/PerfView/PerfView.nuspec

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0"?>
2+
<package>
3+
<metadata minClientVersion="2.5">
4+
<id>Microsoft.PerfView</id>
5+
<version>0.0.0</version>
6+
<title>Microsoft PerfView</title>
7+
<authors>Microsoft</authors>
8+
<owners>Microsoft</owners>
9+
<projectUrl>https://github.com/Microsoft/perfview</projectUrl>
10+
<license type="expression">MIT</license>
11+
<requireLicenseAcceptance>true</requireLicenseAcceptance>
12+
<description>
13+
PerfView is a free performance-analysis tool that helps isolate CPU and memory-related performance issues.
14+
It is a Windows tool, but it also has some support for analyzing data collected on Linux machines.
15+
It works for a wide variety of scenarios, but has a number of special features for investigating performance issues in code written for the .NET runtime.
16+
</description>
17+
<summary>PerfView is a free performance-analysis tool that helps isolate CPU and memory-related performance issues.</summary>
18+
<releaseNotes>https://github.com/Microsoft/perfview/releases/tag/v$version$</releaseNotes>
19+
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
20+
<tags>Perfview Microsoft ETW Event Tracing for Windows</tags>
21+
</metadata>
22+
23+
<files>
24+
<file src="$OutDir$PerfView.exe" target="content\PerfView.exe" />
25+
</files>
26+
27+
</package>

0 commit comments

Comments
 (0)