Improve symbols zip archive
We were publishing a -debug zip with sdk code and symbols, but it was captured before publishing was finished and had incorrect code content. Trying to use it would blow up due to incorrect runtimeconfig.json. Replace it with a -symbols zip that contains only symbols and that can be overlayed over the main zip. This is just like the -langpack zip that has satellite assemblies. Also add an option to leave the PDBs in the same directory/packages as code: /p:SeparateSymbolsArchive=false. Setting this on local builds facilitates debugging and profiling by removing the need to adjust symbol paths or copy PDBs around.
This commit is contained in:
parent
607907c67d
commit
4f31e3db66
3 changed files with 22 additions and 29 deletions
|
@ -21,14 +21,14 @@
|
||||||
<HostMonikerRid Condition=" '$(HostMonikerRid)' == '' ">$(HostOSName)-$(Architecture)</HostMonikerRid>
|
<HostMonikerRid Condition=" '$(HostMonikerRid)' == '' ">$(HostOSName)-$(Architecture)</HostMonikerRid>
|
||||||
|
|
||||||
<ArtifactNameSdk>dotnet-sdk-internal</ArtifactNameSdk>
|
<ArtifactNameSdk>dotnet-sdk-internal</ArtifactNameSdk>
|
||||||
<ArtifactNameSdkDebug>dotnet-sdk-debug</ArtifactNameSdkDebug>
|
<ArtifactNameSdkSymbols>dotnet-sdk-symbols</ArtifactNameSdkSymbols>
|
||||||
<ArtifactNameCombinedHostHostFxrFrameworkSdk>dotnet-sdk</ArtifactNameCombinedHostHostFxrFrameworkSdk>
|
<ArtifactNameCombinedHostHostFxrFrameworkSdk>dotnet-sdk</ArtifactNameCombinedHostHostFxrFrameworkSdk>
|
||||||
<ArtifactNameSdkLanguagePack>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-langpack</ArtifactNameSdkLanguagePack>
|
<ArtifactNameSdkLanguagePack>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-langpack</ArtifactNameSdkLanguagePack>
|
||||||
|
|
||||||
<ArtifactNameWithVersionSdk>$(ArtifactNameSdk)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdk>
|
<ArtifactNameWithVersionSdk>$(ArtifactNameSdk)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdk>
|
||||||
<ArtifactNameWithVersionMSBuildExtensions>dotnet-standard-support-vs2015-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionMSBuildExtensions>
|
<ArtifactNameWithVersionMSBuildExtensions>dotnet-standard-support-vs2015-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionMSBuildExtensions>
|
||||||
|
|
||||||
<ArtifactNameWithVersionSdkDebug>$(ArtifactNameSdkDebug)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdkDebug>
|
<ArtifactNameWithVersionSdkSymbols>$(ArtifactNameSdkSymbols)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdkSymbols>
|
||||||
<ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
|
<ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
|
||||||
<ArtifactNameWithVersionSdkLanguagePack>$(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdkLanguagePack>
|
<ArtifactNameWithVersionSdkLanguagePack>$(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdkLanguagePack>
|
||||||
<DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(HostMonikerRid)</DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
|
<DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(HostMonikerRid)</DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SdkDebugLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkDebug)</SdkDebugLayoutOutputDirectory>
|
<SdkSymbolsLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkSymbols)</SdkSymbolsLayoutOutputDirectory>
|
||||||
<CombinedHostHostFxrFrameworkSdkOutputDirectory>$(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</CombinedHostHostFxrFrameworkSdkOutputDirectory>
|
<CombinedHostHostFxrFrameworkSdkOutputDirectory>$(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</CombinedHostHostFxrFrameworkSdkOutputDirectory>
|
||||||
<SdkLanguagePackOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkLanguagePack)</SdkLanguagePackOutputDirectory>
|
<SdkLanguagePackOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkLanguagePack)</SdkLanguagePackOutputDirectory>
|
||||||
<SatelliteAssemblies>*.resources.dll</SatelliteAssemblies>
|
<SatelliteAssemblies>*.resources.dll</SatelliteAssemblies>
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
<!-- Set up Items with Layout Input Files -->
|
<!-- Set up Items with Layout Input Files -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<SdkLayoutInput Include="$(OutputDirectory)/sdk/**/*" />
|
<SdkLayoutInput Include="$(OutputDirectory)/sdk/**/*" />
|
||||||
<SdkDebugLayoutInput Include="$(SymbolsDirectory)/sdk/**/*" />
|
<SdkSymbolsLayoutInput Include="$(SymbolsDirectory)/sdk/**/*" />
|
||||||
<CombinedHostHostFxrFrameworkSdkInput Include="$(OutputDirectory)/**/*" />
|
<CombinedHostHostFxrFrameworkSdkInput Include="$(OutputDirectory)/**/*" />
|
||||||
<SdkLanguagePackInput Include="$(OutputDirectory)/sdk/**/$(SatelliteAssemblies)" />
|
<SdkLanguagePackInput Include="$(OutputDirectory)/sdk/**/$(SatelliteAssemblies)" />
|
||||||
|
|
||||||
|
@ -30,9 +30,9 @@
|
||||||
<Output TaskParameter="RelativePath" ItemName="SdkRelativeOutputFiles" />
|
<Output TaskParameter="RelativePath" ItemName="SdkRelativeOutputFiles" />
|
||||||
</MakeRelative>
|
</MakeRelative>
|
||||||
<MakeRelative
|
<MakeRelative
|
||||||
Path1="$(SymbolsDirectory)"
|
Path1="$(SymbolsDirectory)/"
|
||||||
Path2="%(SdkDebugLayoutInput.Identity)" >
|
Path2="%(SdkSymbolsLayoutInput.Identity)" >
|
||||||
<Output TaskParameter="RelativePath" ItemName="SdkDebugRelativeOutputFiles" />
|
<Output TaskParameter="RelativePath" ItemName="SdkSymbolsRelativeOutputFiles" />
|
||||||
</MakeRelative>
|
</MakeRelative>
|
||||||
<MakeRelative
|
<MakeRelative
|
||||||
Path1="$(OutputDirectory)/"
|
Path1="$(OutputDirectory)/"
|
||||||
|
@ -70,11 +70,11 @@
|
||||||
<Name>$(ArtifactNameSdk)</Name>
|
<Name>$(ArtifactNameSdk)</Name>
|
||||||
</LayoutDefinition>
|
</LayoutDefinition>
|
||||||
|
|
||||||
<LayoutDefinition Include="Debug">
|
<LayoutDefinition Include="SdkSymbols" Condition="'$(SeparateSymbolsArchive)' != 'false'">
|
||||||
<InputFiles>@(SdkDebugLayoutInput)</InputFiles>
|
<InputFiles>@(SdkSymbolsLayoutInput)</InputFiles>
|
||||||
<OutputFiles>@(SdkDebugRelativeOutputFiles -> '$(SdkDebugLayoutOutputDirectory)/%(Identity)')</OutputFiles>
|
<OutputFiles>@(SdkSymbolsRelativeOutputFiles -> '$(SdkSymbolsLayoutOutputDirectory)/%(Identity)')</OutputFiles>
|
||||||
<NameWithVersion>$(ArtifactNameWithVersionSdkDebug)</NameWithVersion>
|
<NameWithVersion>$(ArtifactNameWithVersionSdkSymbols)</NameWithVersion>
|
||||||
<Name>$(ArtifactNameSdkDebug)</Name>
|
<Name>$(ArtifactNameSdkSymbols)</Name>
|
||||||
</LayoutDefinition>
|
</LayoutDefinition>
|
||||||
|
|
||||||
<LayoutDefinition Include="CombinedHostHostFxrFrameworkSdk">
|
<LayoutDefinition Include="CombinedHostHostFxrFrameworkSdk">
|
||||||
|
|
|
@ -101,7 +101,8 @@
|
||||||
|
|
||||||
<Delete Files="$(PublishDir)/$(TargetName).deps.json;
|
<Delete Files="$(PublishDir)/$(TargetName).deps.json;
|
||||||
$(PublishDir)/$(TargetName).runtimeconfig.json;
|
$(PublishDir)/$(TargetName).runtimeconfig.json;
|
||||||
$(PublishDir)/%(BundledToolProjects.Identity).dll" />
|
$(PublishDir)/%(BundledToolProjects.Identity).dll;
|
||||||
|
$(PublishDir)/%(BundledToolProjects.Identity).pdb" />
|
||||||
|
|
||||||
<ChangeEntryPointLibraryName
|
<ChangeEntryPointLibraryName
|
||||||
DepsFile="$(PublishDir)/%(BundledTools.Identity).deps.json"
|
DepsFile="$(PublishDir)/%(BundledTools.Identity).deps.json"
|
||||||
|
@ -198,7 +199,7 @@
|
||||||
|
|
||||||
<Target Name="CrossgenPublishDir"
|
<Target Name="CrossgenPublishDir"
|
||||||
Condition=" '$(DISABLE_CROSSGEN)' == '' "
|
Condition=" '$(DISABLE_CROSSGEN)' == '' "
|
||||||
AfterTargets="PublishMSBuildExtensions">
|
AfterTargets="GenerateCliRuntimeConfigurationFiles">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!-- Removing Full CLR built TestHost assemblies from getting Crossgen as it is throwing error -->
|
<!-- Removing Full CLR built TestHost assemblies from getting Crossgen as it is throwing error -->
|
||||||
<SdkFiles Include="$(PublishDir)/**/*" Exclude="$(PublishDir)/TestHost*/**/*;$(PublishDir)/Sdks/**/*" />
|
<SdkFiles Include="$(PublishDir)/**/*" Exclude="$(PublishDir)/TestHost*/**/*;$(PublishDir)/Sdks/**/*" />
|
||||||
|
@ -255,24 +256,16 @@
|
||||||
<Chmod Mode="755" Glob="$(SdkOutputDirectory)/FSharp/RunFsc.sh" />
|
<Chmod Mode="755" Glob="$(SdkOutputDirectory)/FSharp/RunFsc.sh" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="CreateSymbolsDirectory"
|
<Target Name="SeparateSymbolsFromPublishDir"
|
||||||
AfterTargets="CrossgenPublishDir">
|
AfterTargets="CrossgenPublishDir"
|
||||||
|
Condition="'$(SeparateSymbolsArchive)' != 'false'">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_AllSdkFiles Include="$(PublishDir)/**/*" />
|
<PdbsToMove Include="$(PublishDir)/**/*.pdb" />
|
||||||
|
<PdbsToMove Include="$(PublishDir)/**/*.ni.*.map" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Copy SourceFiles="@(_AllSdkFiles)"
|
<Move SourceFiles="@(PdbsToMove)"
|
||||||
DestinationFiles="@(_AllSdkFiles->'$(SymbolsDirectory)/sdk/%(RecursiveDir)%(Filename)%(Extension)')" />
|
DestinationFiles="@(PdbsToMove->'$(SymbolsDirectory)/sdk/$(SdkVersion)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="RemovePdbsFromPublishDir"
|
|
||||||
AfterTargets="CreateSymbolsDirectory">
|
|
||||||
<ItemGroup>
|
|
||||||
<PdbsToClean Include="$(PublishDir)/**/*.pdb" />
|
|
||||||
<PdbsToClean Include="$(PublishDir)/**/*.ni.*.map" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Delete Files="@(PdbsToClean)" />
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="PublishStage2WithBackwardsCompatibleRuntimes"
|
<Target Name="PublishStage2WithBackwardsCompatibleRuntimes"
|
||||||
|
|
Loading…
Add table
Reference in a new issue