Add SOS nuget package for Windows debugger team (#392)
authorMike McLaughlin <mikem@microsoft.com>
Mon, 15 Jul 2019 17:22:58 +0000 (10:22 -0700)
committerGitHub <noreply@github.com>
Mon, 15 Jul 2019 17:22:58 +0000 (10:22 -0700)
Add SOS nuget package for Windows debugger team

Generate extension gallery zip in new SOS.Package project. Remove
the create-gallery-zip.ps1 script and build def step.

Some misc engineering cleanup.

Upgrade arcade (1.0.0-beta.19358.1) and sdk (3.0.100-preview6-012264) versions.

Remove SOS.NETCore explicit VersionPrefix

CR

15 files changed:
.vsts-dotnet.yml
diagnostics.sln
eng/Build-Native.cmd
eng/CreateVersionFile.csproj [deleted file]
eng/CreateVersionFile.proj [new file with mode: 0644]
eng/Version.Details.xml
eng/build-native.sh
eng/create-gallery-zip.ps1 [deleted file]
global.json
src/SOS/SOS.NETCore/SOS.NETCore.csproj
src/SOS/SOS.Package/SOS.Package.csproj [new file with mode: 0644]
src/Tools/dotnet-dump/dotnet-dump.csproj
src/Tools/dotnet-sos/dotnet-sos.csproj
src/Tools/sos-packaging.props [deleted file]
src/sos-packaging.props [new file with mode: 0644]

index 85c38a0d769c14b42bad010dd8edefb23d8fdbeb..d560db61ba5d2d7e410c3958c26eb8843559817f 100644 (file)
@@ -315,12 +315,6 @@ phases:
         targetFolder: '$(Build.SourcesDirectory)/artifacts/bin/Windows_NT.arm.Release'
       condition: succeeded()
 
-    # Copy and archive the files for windbg extension gallery.
-
-    - powershell: $(Build.SourcesDirectory)\eng\create-gallery-zip.ps1 $(Build.SourcesDirectory)
-      displayName: Create Extension Gallery Zip File
-      condition: succeeded()
-
     # Linux x64 download, copy and archive
 
     - task: DownloadBuildArtifacts@0
index d561e7a35e79a590b748e990f0e1c84eb91f592e..257e4c17a94fcc54872be463e61b7d10742418a0 100644 (file)
@@ -43,7 +43,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-counters", "src\Tool
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Diagnostics.Tools.RuntimeClient", "src\Microsoft.Diagnostics.Tools.RuntimeClient\Microsoft.Diagnostics.Tools.RuntimeClient.csproj", "{54C240C5-7932-4421-A5FB-75205DE0B824}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CreateVersionFile", "eng\CreateVersionFile.csproj", "{54E3BCB7-6094-4B25-AC44-D4F914438F03}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SOS.Package", "src\SOS\SOS.Package\SOS.Package.csproj", "{234416E9-EA5F-4018-AC34-67682C5D3E04}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -679,46 +679,46 @@ Global
                {54C240C5-7932-4421-A5FB-75205DE0B824}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
                {54C240C5-7932-4421-A5FB-75205DE0B824}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
                {54C240C5-7932-4421-A5FB-75205DE0B824}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|Any CPU.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|ARM.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|ARM.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|ARM64.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|ARM64.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|x64.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|x64.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|x86.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Checked|x86.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|ARM.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|ARM.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|ARM64.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|ARM64.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|x64.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|x64.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|x86.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Debug|x86.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|Any CPU.Build.0 = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|ARM.ActiveCfg = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|ARM.Build.0 = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|ARM64.ActiveCfg = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|ARM64.Build.0 = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|x64.ActiveCfg = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|x64.Build.0 = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|x86.ActiveCfg = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.Release|x86.Build.0 = Release|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|Any CPU.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|Any CPU.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|ARM.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|ARM.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|ARM64.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|ARM64.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|x64.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|x64.Build.0 = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU
-               {54E3BCB7-6094-4B25-AC44-D4F914438F03}.RelWithDebInfo|x86.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|Any CPU.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|Any CPU.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|ARM.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|ARM.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|ARM64.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|ARM64.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|x64.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|x64.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|x86.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Checked|x86.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|ARM.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|ARM.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|ARM64.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|x64.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Debug|x86.Build.0 = Debug|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|Any CPU.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|ARM.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|ARM.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|ARM64.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|ARM64.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|x64.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|x64.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|x86.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.Release|x86.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|ARM.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|ARM.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|ARM64.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|ARM64.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
+               {234416E9-EA5F-4018-AC34-67682C5D3E04}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
@@ -743,6 +743,7 @@ Global
                {90CF2633-58F0-44EE-943B-D70207455F20} = {19FAB78C-3351-4911-8F0C-8C6056401740}
                {2A9B5988-982F-4E26-9E44-D38AC5978C30} = {B62728C8-1267-4043-B46F-5537BBAEC692}
                {54C240C5-7932-4421-A5FB-75205DE0B824} = {19FAB78C-3351-4911-8F0C-8C6056401740}
+               {234416E9-EA5F-4018-AC34-67682C5D3E04} = {41638A4C-0DAF-47ED-A774-ECBBAC0315D7}
        EndGlobalSection
        GlobalSection(ExtensibilityGlobals) = postSolution
                SolutionGuid = {46465737-C938-44FC-BE1A-4CE139EBB5E0}
index 3afcc619c658bf7e95d66a1390393741ae7f8f66..378c486e16e198c24ff3feff3cdec3138778549e 100644 (file)
@@ -197,7 +197,7 @@ if /i %__BuildCrossArch% EQU 1 (
 
     echo Generating Version Header
     set __GenerateVersionLog="%__LogDir%\GenerateVersion.binlog"
-    "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.csproj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__CrossCompIntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
+    "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.proj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__CrossCompIntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
     if not !errorlevel! == 0 (
         echo Generate Version Header FAILED
         exit /b 1
@@ -275,7 +275,7 @@ if %__Build% EQU 1 (
 
     echo Generating Version Header
     set __GenerateVersionLog="%__LogDir%\GenerateVersion.binlog"
-    "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.csproj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__IntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
+    "%__DotNetCli%" msbuild "%__ProjectDir%\eng\CreateVersionFile.proj" /v:!__Verbosity! /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__IntermediatesDir%\_version.h /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__UnprocessedBuildArgs%
     if not !errorlevel! == 0 (
         echo Generate Version Header FAILED
         exit /b 1
diff --git a/eng/CreateVersionFile.csproj b/eng/CreateVersionFile.csproj
deleted file mode 100644 (file)
index a4eb8ad..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>netcoreapp2.0</TargetFramework>
-  </PropertyGroup>
-
-  <Target Name="GenerateVersionFiles" DependsOnTargets="GenerateFileVersionFile;GenerateVersionHeader;GenerateVersionSourceFile" />
-
-  <Target Name="GenerateFileVersionFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(FileVersionFile)' != ''">
-    <ItemGroup>
-      <FileVersionLines Include="$(FileVersion)" />
-    </ItemGroup>
-    <WriteLinesToFile File="$(FileVersionFile)" Lines="@(FileVersionLines)" Overwrite="true" />
-  </Target>
-
-  <Target Name="GenerateVersionHeader" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionHeaderFile)' != '' and '$(GenerateVersionHeader)' == 'true' and !Exists($(NativeVersionHeaderFile))">
-
-    <Error Message="VersionSuffixDateStamp is missing" Condition="'$(VersionSuffixDateStamp)' == ''" />
-
-    <PropertyGroup>
-      <ProductVersion>$(FileVersion.Replace(".", ","))</ProductVersion>
-    </PropertyGroup>
-
-    <PropertyGroup>
-      <NativeVersionLines>
-<![CDATA[
-#ifndef VER_COMPANYNAME_STR
-#define VER_COMPANYNAME_STR         "Microsoft Corporation"
-#endif
-#ifndef VER_PRODUCTNAME_STR
-#define VER_PRODUCTNAME_STR         "Microsoft\xae .NET Framework"
-#endif
-#undef VER_PRODUCTVERSION
-#define VER_PRODUCTVERSION          $(ProductVersion)
-#undef VER_PRODUCTVERSION_STR
-#define VER_PRODUCTVERSION_STR      "$(InformationalVersion)"
-#undef VER_FILEVERSION
-#define VER_FILEVERSION             $(ProductVersion)  
-#undef VER_FILEVERSION_STR
-#define VER_FILEVERSION_STR         "$(FileVersion)"
-#ifndef VER_LEGALCOPYRIGHT_STR
-#define VER_LEGALCOPYRIGHT_STR      "\xa9 Microsoft Corporation. All rights reserved."
-#endif
-]]>
-      </NativeVersionLines>
-    </PropertyGroup>
-
-    <WriteLinesToFile File="$(NativeVersionHeaderFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
-
-    <ItemGroup>
-      <FileWrites Include="$(NativeVersionHeaderFile)" />
-    </ItemGroup>
-
-    <Message Importance="High" Text="Created version file $(NativeVersionHeaderFile)" />
-  </Target>
-
-  <!-- Non Windows versioning requires to generate a source file and include it on the compilation. -->
-  <Target Name="GenerateVersionSourceFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionSourceFile)' != '' and '$(GenerateVersionSourceFile)' == 'true' and !Exists($(NativeVersionHeaderFile))">
-
-    <!-- Get Username -->
-    <PropertyGroup>
-      <VersionUserName Condition="'$(VersionUserName)' == ''">$(USERNAME)</VersionUserName>
-    </PropertyGroup>
-
-    <Exec Command="whoami" Condition="'$(VersionUserName)' == ''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
-      <Output TaskParameter="ConsoleOutput" PropertyName="VersionUserName" />
-    </Exec>
-
-    <!-- Get Hostname -->
-    <PropertyGroup>
-      <VersionHostName Condition="'$(VersionHostName)' == ''">$(COMPUTERNAME)</VersionHostName>
-    </PropertyGroup>
-
-    <Exec Command="hostname" Condition="'$(RunningOnUnix)'=='true' AND '$(VersionHostName)'==''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
-      <Output TaskParameter="ConsoleOutput" PropertyName="VersionHostName" />
-    </Exec>
-
-    <PropertyGroup>
-      <BuiltByString Condition="'$(VersionUserName)' != '' AND '$(VersionHostName)' != ''">$(BuiltByString) %40BuiltBy: $(VersionUserName)-$(VersionHostName)</BuiltByString>
-    </PropertyGroup>
-
-    <PropertyGroup>
-      <NativeVersionLines>
-<![CDATA[
-static char sccsid[] __attribute__((used)) = "@(#)Version $(InformationalVersion)$(BuiltByString)";
- ]]>
-      </NativeVersionLines>
-    </PropertyGroup>
-
-    <WriteLinesToFile File="$(NativeVersionSourceFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
-
-    <ItemGroup>
-      <FileWrites Include="$(NativeVersionSourceFile)" />
-    </ItemGroup>
-
-    <Message Importance="High" Text="Created version file $(NativeVersionSourceFile)" />
-  </Target>
-</Project>
diff --git a/eng/CreateVersionFile.proj b/eng/CreateVersionFile.proj
new file mode 100644 (file)
index 0000000..d25e931
--- /dev/null
@@ -0,0 +1,91 @@
+<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
+  </PropertyGroup>
+
+  <Target Name="GenerateVersionFiles" DependsOnTargets="GenerateVersionHeader;GenerateVersionSourceFile" />
+
+  <Target Name="GenerateVersionHeader" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionHeaderFile)' != '' and '$(GenerateVersionHeader)' == 'true' and !Exists($(NativeVersionHeaderFile))">
+
+    <Error Message="VersionSuffixDateStamp is missing" Condition="'$(VersionSuffixDateStamp)' == ''" />
+
+    <PropertyGroup>
+      <ProductVersion>$(FileVersion.Replace(".", ","))</ProductVersion>
+    </PropertyGroup>
+
+    <PropertyGroup>
+      <NativeVersionLines>
+<![CDATA[
+#ifndef VER_COMPANYNAME_STR
+#define VER_COMPANYNAME_STR         "Microsoft Corporation"
+#endif
+#ifndef VER_PRODUCTNAME_STR
+#define VER_PRODUCTNAME_STR         "Microsoft\xae .NET Framework"
+#endif
+#undef VER_PRODUCTVERSION
+#define VER_PRODUCTVERSION          $(ProductVersion)
+#undef VER_PRODUCTVERSION_STR
+#define VER_PRODUCTVERSION_STR      "$(InformationalVersion)"
+#undef VER_FILEVERSION
+#define VER_FILEVERSION             $(ProductVersion)  
+#undef VER_FILEVERSION_STR
+#define VER_FILEVERSION_STR         "$(FileVersion)"
+#ifndef VER_LEGALCOPYRIGHT_STR
+#define VER_LEGALCOPYRIGHT_STR      "\xa9 Microsoft Corporation. All rights reserved."
+#endif
+]]>
+      </NativeVersionLines>
+    </PropertyGroup>
+
+    <WriteLinesToFile File="$(NativeVersionHeaderFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
+
+    <ItemGroup>
+      <FileWrites Include="$(NativeVersionHeaderFile)" />
+    </ItemGroup>
+
+    <Message Importance="High" Text="Created version file $(NativeVersionHeaderFile)" />
+  </Target>
+
+  <!-- Non Windows versioning requires to generate a source file and include it on the compilation. -->
+  <Target Name="GenerateVersionSourceFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionSourceFile)' != '' and '$(GenerateVersionSourceFile)' == 'true' and !Exists($(NativeVersionHeaderFile))">
+
+    <!-- Get Username -->
+    <PropertyGroup>
+      <VersionUserName Condition="'$(VersionUserName)' == ''">$(USERNAME)</VersionUserName>
+    </PropertyGroup>
+
+    <Exec Command="whoami" Condition="'$(VersionUserName)' == ''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
+      <Output TaskParameter="ConsoleOutput" PropertyName="VersionUserName" />
+    </Exec>
+
+    <!-- Get Hostname -->
+    <PropertyGroup>
+      <VersionHostName Condition="'$(VersionHostName)' == ''">$(COMPUTERNAME)</VersionHostName>
+    </PropertyGroup>
+
+    <Exec Command="hostname" Condition="'$(RunningOnUnix)'=='true' AND '$(VersionHostName)'==''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
+      <Output TaskParameter="ConsoleOutput" PropertyName="VersionHostName" />
+    </Exec>
+
+    <PropertyGroup>
+      <BuiltByString Condition="'$(VersionUserName)' != '' AND '$(VersionHostName)' != ''">$(BuiltByString) %40BuiltBy: $(VersionUserName)-$(VersionHostName)</BuiltByString>
+    </PropertyGroup>
+
+    <PropertyGroup>
+      <NativeVersionLines>
+<![CDATA[
+static char sccsid[] __attribute__((used)) = "@(#)Version $(InformationalVersion)$(BuiltByString)";
+ ]]>
+      </NativeVersionLines>
+    </PropertyGroup>
+
+    <WriteLinesToFile File="$(NativeVersionSourceFile)" Lines="$(NativeVersionLines.Replace(';', '%3B'))" Overwrite="true" />
+
+    <ItemGroup>
+      <FileWrites Include="$(NativeVersionSourceFile)" />
+    </ItemGroup>
+
+    <Message Importance="High" Text="Created version file $(NativeVersionSourceFile)" />
+  </Target>
+</Project>
index 69d81b38f6721ea5615c0d34d8ec1f11c6dbeb94..fafc1cfdaa889f03482952ba703f36276b1c7dad 100644 (file)
@@ -6,17 +6,9 @@
     </Dependency>
   </ProductDependencies>
   <ToolsetDependencies>
-    <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19309.1">
+    <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19358.1">
       <Uri>https://github.com/dotnet/arcade</Uri>
-      <Sha>45361625125cdd3119050a852bd73163ca4b73f4</Sha>
-    </Dependency>
-    <Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="2.2.0-beta.19309.1">
-      <Uri>https://github.com/dotnet/arcade</Uri>
-      <Sha>45361625125cdd3119050a852bd73163ca4b73f4</Sha>
-    </Dependency>
-    <Dependency Name="Microsoft.DotNet.SignTool" Version="1.0.0-beta.19309.1">
-      <Uri>https://github.com/dotnet/arcade</Uri>
-      <Sha>45361625125cdd3119050a852bd73163ca4b73f4</Sha>
+      <Sha>4953cdf6c956adf69a0050c4df503048aed6b271</Sha>
     </Dependency>
   </ToolsetDependencies>
 </Dependencies>
index 1d5bba81de0c46217da8dc147e44bafb8d70ceda..81e8926ea37c3a33dd1c7e36335112c0f1107871 100755 (executable)
@@ -408,7 +408,7 @@ if [ $__Build == true ]; then
     if [[ $__CI == true ]]; then
         echo "Generating Version Source File"
         __GenerateVersionLog="$__LogDir/GenerateVersion.binlog"
-        $__DotNetCli msbuild $__ProjectRoot/eng/CreateVersionFile.csproj /v:$__Verbosity /bl:$__GenerateVersionLog /t:GenerateVersionFiles /p:GenerateVersionSourceFile=true /p:NativeVersionSourceFile="$__IntermediatesDir/version.cpp" /p:Configuration="$__BuildType" /p:Platform="$__BuildArch" $__UnprocessedBuildArgs
+        $__DotNetCli msbuild $__ProjectRoot/eng/CreateVersionFile.proj /v:$__Verbosity /bl:$__GenerateVersionLog /t:GenerateVersionFiles /p:GenerateVersionSourceFile=true /p:NativeVersionSourceFile="$__IntermediatesDir/version.cpp" /p:Configuration="$__BuildType" /p:Platform="$__BuildArch" $__UnprocessedBuildArgs
         if [ $? != 0 ]; then
             echo "Generating Version Source File FAILED"
             exit 1
diff --git a/eng/create-gallery-zip.ps1 b/eng/create-gallery-zip.ps1
deleted file mode 100644 (file)
index b2ee8bd..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-[cmdletbinding()]
-param(
-   [string]$SourceDirectory
-)
-
-Set-StrictMode -Version Latest
-$ErrorActionPreference="Stop"
-
-$BinDir = "$SourceDirectory\artifacts\bin"
-$SOSGalleryVersion = cat $BinDir\FileVersion.txt
-
-$SOSNETCorePath = "$BinDir\SOS.NETCore\Release\netstandard2.0\publish"
-$GalleryDir = "$BinDir\gallery\$SOSGalleryVersion"
-$ZipFilePath = "$SourceDirectory\artifacts\packages\Release"
-$ZipFile = Join-Path -Path $ZipFilePath "$SOSGalleryVersion.zip"
-
-mkdir -Force "$GalleryDir\x64"
-mkdir -Force "$GalleryDir\x86"
-mkdir -Force "$GalleryDir\arm32"
-mkdir -Force "$ZipFilePath"
-
-Copy-Item $BinDir\Windows_NT.x64.Release\sos.dll $GalleryDir\x64
-Copy-Item $BinDir\Windows_NT.x64.Release\Microsoft.DiaSymReader.Native.amd64.dll $GalleryDir\x64
-Copy-Item $SOSNETCorePath\*.dll $GalleryDir\x64
-Copy-Item $BinDir\Windows_NT.x86.Release\sos.dll $GalleryDir\x86
-Copy-Item $BinDir\Windows_NT.x86.Release\Microsoft.DiaSymReader.Native.x86.dll $GalleryDir\x86
-Copy-Item $SOSNETCorePath\*.dll $GalleryDir\x86
-Copy-Item $BinDir\Windows_NT.arm.Release\sos.dll $GalleryDir\arm32
-Copy-Item $BinDir\Windows_NT.arm.Release\Microsoft.DiaSymReader.Native.arm.dll $GalleryDir\arm32
-Copy-Item $SOSNETCorePath\*.dll $GalleryDir\arm32
-cat $SourceDirectory\eng\GalleryManifest.xml | %{$_ -replace "X.X.X.X","$SOSGalleryVersion"} | Set-Content $BinDir\gallery\GalleryManifest.xml
-
-if (Test-Path $ZipFile) { rm "$ZipFile" }
-Add-Type -assembly System.IO.Compression.FileSystem
-[IO.Compression.ZipFile]::CreateFromDirectory("$BinDir\gallery", "$ZipFile")
-
index 9f079f25d2cde3bae884c2e115f079af0ec63ed0..ec59655b00524adc66246e3511a7c42abee71fa0 100644 (file)
@@ -1,11 +1,11 @@
 {
   "sdk": {
-    "version": "3.0.100-preview5-011568"
+    "version": "3.0.100-preview6-012264"
   },
   "tools": {
-    "dotnet": "3.0.100-preview5-011568"
+    "dotnet": "3.0.100-preview6-012264"
   },
   "msbuild-sdks": {
-    "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19309.1"
+    "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19358.1"
   }
 }
index 8de923a3ae94d0754278e80aaa5c85cf6414378f..a72ada3d1c2b87d58b45eb6ed8b94161cb64c710 100644 (file)
@@ -6,7 +6,6 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <NoWarn>;1591;1701</NoWarn>
     <Description>.NET Core SOS</Description>
-    <VersionPrefix>4.8.0</VersionPrefix>
   </PropertyGroup>
   
   <ItemGroup>
diff --git a/src/SOS/SOS.Package/SOS.Package.csproj b/src/SOS/SOS.Package/SOS.Package.csproj
new file mode 100644 (file)
index 0000000..f1c890f
--- /dev/null
@@ -0,0 +1,120 @@
+<!-- Copyright (c)  Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information. -->
+<Project>
+  <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <AssemblyName>Microsoft.NETCore.SOS</AssemblyName>
+    <Description>.NET Core SOS binaries</Description>
+    <PackageReleaseNotes>$(Description)</PackageReleaseNotes>
+    <IsPackable>true</IsPackable>
+    <IncludeBuildOutput>false</IncludeBuildOutput>
+    <SOSPackagePathPrefix>tools</SOSPackagePathPrefix>
+    <GalleryManifestName>$(ArtifactsPackagesDir)\GalleryManifest.xml</GalleryManifestName>
+    <BeforePack>GenerateGalleryZip</BeforePack>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Include="$(GalleryManifestName)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)</PackagePath>
+    </None>
+  </ItemGroup>
+
+  <Import Project="$(MSBuildThisFileDirectory)..\..\sos-packaging.props" />
+
+  <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
+
+  <Target Name="Build" />
+
+  <Target Name="GenerateGalleryManifest" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion">
+    <PropertyGroup>
+      <GalleryManifestLines>
+<![CDATA[
+<?xml version="1.0" encoding="utf-8"?>
+<ExtensionPackage>
+    <Name>SOS</Name>
+    <Version>$(FileVersion)</Version> 
+    <Description>Debugging aid for .NET Core programs and runtimes</Description>
+    <Components>
+        <BinaryComponent Name="sos" Type="Engine">
+            <Files>
+                <File Architecture="amd64" Module="win-x64\sos.dll" />
+                <File Architecture="x86"   Module="win-x86\sos.dll" />
+                <File Architecture="arm32" Module="win-arm\sos.dll" />
+            </Files>
+            <LoadTriggers>
+                <TriggerSet>
+                    <ModuleTrigger Name="coreclr.dll" />
+                </TriggerSet>
+            </LoadTriggers>
+            <EngineCommands>
+                <EngineCommand Name="soshelp">
+                    <EngineCommandItem>
+                        <Syntax>!soshelp</Syntax>
+                        <Description>Displays all available SOS commands or details about the command</Description>
+                    </EngineCommandItem>
+                </EngineCommand>
+            </EngineCommands>
+        </BinaryComponent>
+    </Components>
+</ExtensionPackage>
+]]>
+      </GalleryManifestLines>
+    </PropertyGroup>
+
+    <WriteLinesToFile File="$(GalleryManifestName)" Lines="$(GalleryManifestLines)" Overwrite="true" />
+
+    <ItemGroup>
+      <FileWrites Include="$(GalleryManifestName)" />
+    </ItemGroup>
+  </Target>
+
+  <Target Name="GenerateGalleryZip" DependsOnTargets="GenerateGalleryManifest">
+    <PropertyGroup>
+      <GalleryDir>$(ArtifactsBinDir)\gallery</GalleryDir>
+      <GallerySubDir>$(GalleryDir)\$(FileVersion)</GallerySubDir>
+      <SOSNETCorePath>$(ArtifactsBinDir)\SOS.NETCore\$(Configuration)\netstandard2.0\publish</SOSNETCorePath>
+    </PropertyGroup>
+
+    <ItemGroup>
+      <ZipSourceFiles Include="$(GalleryManifestName)">
+         <TargetPath>$(GalleryDir)</TargetPath>
+      </ZipSourceFiles>
+
+      <ZipSourceFiles Include="$(ArtifactsBinDir)Windows_NT.x64.$(Configuration)\sos.dll">
+         <TargetPath>$(GallerySubDir)\win-x64</TargetPath>
+      </ZipSourceFiles>
+      <ZipSourceFiles Include="$(ArtifactsBinDir)Windows_NT.x64.$(Configuration)\Microsoft.DiaSymReader.Native.amd64.dll">
+         <TargetPath>$(GallerySubDir)\win-x64</TargetPath>
+      </ZipSourceFiles>
+      <ZipSourceFiles Include="$(SOSNETCorePath)\*.dll">
+         <TargetPath>$(GallerySubDir)\win-x64</TargetPath>
+      </ZipSourceFiles>
+
+      <ZipSourceFiles Include="$(ArtifactsBinDir)Windows_NT.x86.$(Configuration)\sos.dll">
+         <TargetPath>$(GallerySubDir)\win-x86</TargetPath>
+      </ZipSourceFiles>
+      <ZipSourceFiles Include="$(ArtifactsBinDir)Windows_NT.x86.$(Configuration)\Microsoft.DiaSymReader.Native.x86.dll">
+         <TargetPath>$(GallerySubDir)\win-x86</TargetPath>
+      </ZipSourceFiles>
+      <ZipSourceFiles Include="$(SOSNETCorePath)\*.dll">
+         <TargetPath>$(GallerySubDir)\win-x86</TargetPath>
+      </ZipSourceFiles>
+
+      <ZipSourceFiles Include="$(ArtifactsBinDir)Windows_NT.arm.$(Configuration)\sos.dll">
+         <TargetPath>$(GallerySubDir)\win-arm</TargetPath>
+      </ZipSourceFiles>
+      <ZipSourceFiles Include="$(ArtifactsBinDir)Windows_NT.arm.$(Configuration)\Microsoft.DiaSymReader.Native.arm.dll">
+         <TargetPath>$(GallerySubDir)\win-arm</TargetPath>
+      </ZipSourceFiles>
+      <ZipSourceFiles Include="$(SOSNETCorePath)\*.dll">
+         <TargetPath>$(GallerySubDir)\win-arm</TargetPath>
+      </ZipSourceFiles>
+    </ItemGroup>
+
+    <Copy SourceFiles="@(ZipSourceFiles)" DestinationFolder="%(ZipSourceFiles.TargetPath)" />
+
+    <ZipDirectory DestinationFile="$(ArtifactsPackagesDir)$(FileVersion).zip" SourceDirectory="$(GalleryDir)" Overwrite="true" />
+  </Target>
+
+</Project>
index 95d059bd4e42114dfcaa518e12c09ded60b16a41..22008e22411fb8c957adde1340bcc5666757dfda 100644 (file)
@@ -8,6 +8,7 @@
     <Description>Diagnostic dump collect and analyze tool</Description>
     <PackageTags>Diagnostic</PackageTags>
     <PackageReleaseNotes>$(Description)</PackageReleaseNotes>
+    <SOSPackagePathPrefix>tools/$(TargetFramework)/any</SOSPackagePathPrefix>
   </PropertyGroup>
 
   <ItemGroup>
@@ -22,5 +23,5 @@
     <ProjectReference Include="$(MSBuildThisFileDirectory)..\..\SOS\SOS.NETCore\SOS.NETCore.csproj" />
   </ItemGroup>
 
-  <Import Project="$(MSBuildThisFileDirectory)..\sos-packaging.props" />
+  <Import Project="$(MSBuildThisFileDirectory)..\..\sos-packaging.props" />
 </Project>
index a89054d3a44b81daded3ec0b1fe37c53993a5a09..d38943b816f1f7f4c3fd5c78896754ee3bfa96c4 100644 (file)
@@ -7,7 +7,7 @@
     <Description>Diagnostic SOS installer</Description>
     <PackageTags>Diagnostic</PackageTags>
     <PackageReleaseNotes>$(Description)</PackageReleaseNotes>
-    <SOSNETCoreBinaries>$(ArtifactsBinDir)\SOS.NETCore\$(Configuration)\netstandard2.0\publish\*.dll</SOSNETCoreBinaries>
+    <SOSPackagePathPrefix>tools/$(TargetFramework)/any</SOSPackagePathPrefix>
   </PropertyGroup>
 
   <ItemGroup>
@@ -18,5 +18,5 @@
     <PackageReference Include="System.CommandLine.Experimental" Version="$(SystemCommandLineExperimentalVersion)" />
   </ItemGroup>
 
-  <Import Project="$(MSBuildThisFileDirectory)..\sos-packaging.props" />
+  <Import Project="$(MSBuildThisFileDirectory)..\..\sos-packaging.props" />
 </Project>
diff --git a/src/Tools/sos-packaging.props b/src/Tools/sos-packaging.props
deleted file mode 100644 (file)
index a70a37b..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <SOSNETCoreBinaries>$(ArtifactsBinDir)\SOS.NETCore\$(Configuration)\netstandard2.0\publish\*.dll</SOSNETCoreBinaries>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Windows_NT.x64.$(Configuration)\sos.dll" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Windows_NT.x64.$(Configuration)\Microsoft.DiaSymReader.Native.amd64.dll" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-x64</PackagePath>
-    </None>
-      
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-x86</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Windows_NT.x86.$(Configuration)\sos.dll" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-x86</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Windows_NT.x86.$(Configuration)\Microsoft.DiaSymReader.Native.x86.dll" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-x86</PackagePath>
-    </None>
-      
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-arm</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Windows_NT.arm.$(Configuration)\sos.dll" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-arm</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Windows_NT.arm.$(Configuration)\Microsoft.DiaSymReader.Native.arm.dll" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/win-arm</PackagePath>
-    </None>
-
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.x64.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.x64.$(Configuration)\libsos.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.x64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-x64</PackagePath>
-    </None>
-
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-musl-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux-musl.x64.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-musl-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux-musl.x64.$(Configuration)\libsos.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-musl-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux-musl.x64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-musl-x64</PackagePath>
-    </None>
-
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.arm.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.arm.$(Configuration)\libsos.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.arm.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm</PackagePath>
-    </None>
-
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.arm64.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.arm64.$(Configuration)\libsos.so" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\Linux.arm64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/linux-arm64</PackagePath>
-    </None>
-
-    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/osx-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsosplugin.dylib" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/osx-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsos.dylib" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/osx-x64</PackagePath>
-    </None>
-    <None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
-      <PackagePath>tools/$(TargetFramework)/any/osx-x64</PackagePath>
-    </None>
-  </ItemGroup>
-</Project>
diff --git a/src/sos-packaging.props b/src/sos-packaging.props
new file mode 100644 (file)
index 0000000..ff43dde
--- /dev/null
@@ -0,0 +1,107 @@
+<!-- Copyright (c)  Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.
+
+    Input:
+        SOSPackagePathPrefix - the nupkg package path prefix. The SOS binaries are added to package relative to this.
+-->
+<Project>
+  <PropertyGroup>
+    <SOSNETCoreBinaries>$(ArtifactsBinDir)\SOS.NETCore\$(Configuration)\netstandard2.0\publish\*.dll</SOSNETCoreBinaries>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Windows_NT.x64.$(Configuration)\sos.dll" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Windows_NT.x64.$(Configuration)\Microsoft.DiaSymReader.Native.amd64.dll" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-x64</PackagePath>
+    </None>
+      
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-x86</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Windows_NT.x86.$(Configuration)\sos.dll" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-x86</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Windows_NT.x86.$(Configuration)\Microsoft.DiaSymReader.Native.x86.dll" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-x86</PackagePath>
+    </None>
+      
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-arm</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Windows_NT.arm.$(Configuration)\sos.dll" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-arm</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Windows_NT.arm.$(Configuration)\Microsoft.DiaSymReader.Native.arm.dll" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/win-arm</PackagePath>
+    </None>
+
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.x64.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.x64.$(Configuration)\libsos.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.x64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-x64</PackagePath>
+    </None>
+
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-musl-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux-musl.x64.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-musl-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux-musl.x64.$(Configuration)\libsos.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-musl-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux-musl.x64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-musl-x64</PackagePath>
+    </None>
+
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.arm.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.arm.$(Configuration)\libsos.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.arm.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm</PackagePath>
+    </None>
+
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.arm64.$(Configuration)\libsosplugin.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.arm64.$(Configuration)\libsos.so" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\Linux.arm64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/linux-arm64</PackagePath>
+    </None>
+
+    <None Include="$(SOSNETCoreBinaries)" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/osx-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsosplugin.dylib" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/osx-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsos.dylib" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/osx-x64</PackagePath>
+    </None>
+    <None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\sosdocsunix.txt" Pack="true" Visible="false">
+      <PackagePath>$(SOSPackagePathPrefix)/osx-x64</PackagePath>
+    </None>
+  </ItemGroup>
+</Project>