Build RID specific .All and .App symbols packages
This commit is contained in:
parent
3309cc5f90
commit
0e67bc83c8
|
|
@ -64,17 +64,10 @@
|
|||
<PackageArchiveFileName>nuGetPackagesArchive-$(PackageVersion).lzma</PackageArchiveFileName>
|
||||
<InstallerBaseFileName>aspnetcore-runtime-$(PackageVersion)</InstallerBaseFileName>
|
||||
<InstallerAliasBaseFileName>aspnetcore-runtime-latest</InstallerAliasBaseFileName>
|
||||
<SymbolsArchiveBaseFileName>aspnetcore-runtime-symbols-$(PackageVersion)</SymbolsArchiveBaseFileName>
|
||||
<IntermediateInstallerBaseFileName>aspnetcore-runtime-internal-$(PackageVersion)</IntermediateInstallerBaseFileName>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- symbols archives -->
|
||||
<FilesToPublish Include="$(DependencyAssetsDir)$(SymbolsArchiveBaseFileName)-%(RuntimeSymbolsArchive.Identity)%(RuntimeSymbolsArchive.FileExt)" Condition=" '%(RuntimeSymbolsArchive.Identity)' != '' ">
|
||||
<RelativeBlobPath>$(BlobBasePath)$(SymbolsArchiveBaseFileName)-%(RuntimeSymbolsArchive.Identity)%(RuntimeSymbolsArchive.FileExt)</RelativeBlobPath>
|
||||
<ManifestArtifactData>ShipInstaller=dotnetcli</ManifestArtifactData>
|
||||
</FilesToPublish>
|
||||
|
||||
<!-- Intermediate files passed on to the dotnet-CLI. -->
|
||||
<FilesToPublish Include="$(DependencyAssetsDir)$(PackageArchiveFileName)" >
|
||||
<RelativeBlobPath>$(BlobBasePath)$(PackageArchiveFileName)</RelativeBlobPath>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
<_DebToolDir>$(MSBuildThisFileDirectory)tools\dotnet-deb-tool-consumer\</_DebToolDir>
|
||||
<_SharedFxSourceDir>$(RepositoryRoot).deps\Signed\SharedFx\</_SharedFxSourceDir>
|
||||
<_InstallerSourceDir>$(RepositoryRoot).deps\Installers\</_InstallerSourceDir>
|
||||
<_SymbolsSourceDir>$(RepositoryRoot).deps\Symbols\</_SymbolsSourceDir>
|
||||
<_DockerRootDir>/opt/code/</_DockerRootDir>
|
||||
<_InstallersOutputDir>$(ArtifactsDir)installers\</_InstallersOutputDir>
|
||||
<!-- 3B = semicolon in ASCII -->
|
||||
|
|
|
|||
|
|
@ -284,9 +284,18 @@
|
|||
|
||||
<ItemGroup>
|
||||
<IgnoredAssemblies Include="@(AppPublishAssemblies);@(AllPublishAssemblies)" Condition="'%(AssetType)' == 'native' OR '%(AssetType)' == 'resources'" />
|
||||
<AppRuntimeAssemblies Include="@(AppPublishAssemblies)" Condition="'%(AssetType)' == 'runtime'">
|
||||
<PortablePDB>%(RootDir)%(Directory)%(Filename).pdb</PortablePDB>
|
||||
</AppRuntimeAssemblies>
|
||||
<AllRuntimeAssemblies Include="@(AllPublishAssemblies)" Exclude="@(AppRuntimeAssemblies)" Condition="'%(AssetType)' == 'runtime'">
|
||||
<PortablePDB>%(RootDir)%(Directory)%(Filename).pdb</PortablePDB>
|
||||
</AllRuntimeAssemblies>
|
||||
<OtherAssemblies Include="@(AppPublishAssemblies);@(AllPublishAssemblies)" Exclude="@(IgnoredAssemblies);@(AppRuntimeAssemblies);@(AllRuntimeAssemblies)" />
|
||||
<_AssembliesToCrossgen Include="$(SharedFxIntermediateOutputPath)**\*.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Unaccounted shared framework assemblies found: @(OtherAssemblies). Assemblies must be included as runtime assemblies or marked as ignored." Condition="'@(OtherAssemblies)' != ''" />
|
||||
|
||||
<!-- Compute the intersection of crossgen candidates and native/resources assemblies as the set of assemblies to skip crossgen -->
|
||||
<CreateItem Include="@(_AssembliesToCrossgen)" Condition="'%(Filename)' != ''and '@(IgnoredAssemblies)' != ''">
|
||||
<Output TaskParameter="Include" ItemName="AssembliesToRemove"/>
|
||||
|
|
@ -303,6 +312,14 @@
|
|||
</AssembliesToCrossgen>
|
||||
<AssembliesToCrossgen Remove="@(AssembliesToRemove)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Compute the intersection of runtime assemblies and assemblies to crossgen to resolve the set of portablePDBs to publish -->
|
||||
<CreateItem Include="@(AppRuntimeAssemblies)" Condition="'%(Filename)' != ''and '@(AssembliesToCrossgen)' != ''">
|
||||
<Output TaskParameter="Include" ItemName="AppPortablePDBsToPublish"/>
|
||||
</CreateItem>
|
||||
<CreateItem Include="@(AllRuntimeAssemblies)" Condition="'%(Filename)' != ''and '@(AssembliesToCrossgen)' != ''">
|
||||
<Output TaskParameter="Include" ItemName="AllPortablePDBsToPublish"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<Target Name="CrossGenAssemblies"
|
||||
|
|
@ -350,19 +367,77 @@
|
|||
<Exec Command="$(SharedFxCrossGenToolDirectory)$(CrossGenTool) @%(AssembliesToCrossgen.SymbolsRsp)" EnvironmentVariables="COMPlus_PartialNGen=0" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PackSharedFx">
|
||||
<Target Name="_BuildSharedFxSymbols">
|
||||
<PropertyGroup>
|
||||
<SymbolsPackageId>runtime.$(SharedFxRID).$(SymbolsNuspecIdSuffix)</SymbolsPackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CrossGenOutput Include="$(SharedFxCrossGenDirectory)**\*.dll" />
|
||||
<CrossGenSymbols Include="$(SharedFxCrossGenDirectory)**\*" Exclude="@(CrossGenOutput)" />
|
||||
<_SymbolFiles Include="$(SymbolsWorkDir)**\*.pdb;$(SymbolsWorkDir)**\*.map" />
|
||||
<SymbolFiles Include="@(_SymbolFiles)">
|
||||
<PackagePath>%(RecursiveDir)%(Filename)%(Extension)</PackagePath>
|
||||
</SymbolFiles>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Create symbols archive -->
|
||||
<ZipArchive
|
||||
File="$(SharedFxOutputPath)$(SharedFxInstallerName)-symbols-$(PackageVersion)-$(SharedFxRID).zip"
|
||||
SourceFiles="@(CrossGenSymbols)"
|
||||
WorkingDirectory="$(SharedFxCrossGenDirectory)"
|
||||
<!-- Create Layout -->
|
||||
<Copy
|
||||
SourceFiles="$(_TemplatesDir)SharedFxSymbols\SharedFrameworkSymbols.nuspec"
|
||||
DestinationFiles="$(SymbolsWorkDir)$(SymbolsPackageId).nuspec"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
|
||||
<!-- Produce symbols nupkg -->
|
||||
<PackNuspec NuspecPath="$(SymbolsWorkDir)$(SymbolsPackageId).nuspec"
|
||||
DestinationFolder="$([MSBuild]::NormalizeDirectory($(ArtifactsDir)))symbols\"
|
||||
Properties="version=$(PackageVersion);id=$(SymbolsPackageId);description=$(Description);Configuration=$(Configuration)"
|
||||
Overwrite="true"
|
||||
Condition="$([MSBuild]::IsOSPlatform('Linux')) OR $([MSBuild]::IsOSPlatform('Windows'))"/>
|
||||
PackageFiles="@(SymbolFiles)"
|
||||
BasePath="$(SymbolsWorkDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PackSharedFx" DependsOnTargets="DefineSharedFxPrerequisites" >
|
||||
<PropertyGroup>
|
||||
<AppSharedFxSymbolsDirectory>$(_WorkRoot)Symbols\Microsoft.AspNetCore.App\</AppSharedFxSymbolsDirectory>
|
||||
<AllSharedFxSymbolsDirectory>$(_WorkRoot)Symbols\Microsoft.AspNetCore.All\</AllSharedFxSymbolsDirectory>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CrossGenOutput Include="$(SharedFxCrossGenDirectory)**\*.dll" />
|
||||
<AppCrossGenSymbols Include="$(SharedFxCrossGenDirectory)shared\Microsoft.AspNetCore.App\$(PackageVersion)\**\*" Exclude="@(CrossGenOutput)" />
|
||||
<AllCrossGenSymbols Include="$(SharedFxCrossGenDirectory)shared\Microsoft.AspNetCore.All\$(PackageVersion)\**\*" Exclude="@(CrossGenOutput)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Copy over PDBs -->
|
||||
<Copy
|
||||
SourceFiles="%(AppPortablePDBsToPublish.PortablePDB)"
|
||||
DestinationFolder="$(AppSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\netcoreapp2.1"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
Condition="Exists('%(AppPortablePDBsToPublish.PortablePDB)')" />
|
||||
<Copy
|
||||
SourceFiles="%(AllPortablePDBsToPublish.PortablePDB)"
|
||||
DestinationFolder="$(AllSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\netcoreapp2.1"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
Condition="Exists('%(AllPortablePDBsToPublish.PortablePDB)')" />
|
||||
<Copy
|
||||
SourceFiles="@(AppCrossGenSymbols)"
|
||||
DestinationFolder="$(AppSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\netcoreapp2.1"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
<Copy
|
||||
SourceFiles="@(AllCrossGenSymbols)"
|
||||
DestinationFolder="$(AllSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\netcoreapp2.1"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
|
||||
<!-- Create symbols nupkg -->
|
||||
<PropertyGroup>
|
||||
<AppSymbolsArguments>SymbolsWorkDir=$(AppSharedFxSymbolsDirectory)</AppSymbolsArguments>
|
||||
<AppSymbolsArguments>$(AppSymbolsArguments);SymbolsNuspecIdSuffix=Microsoft.AspNetCore.App.symbols</AppSymbolsArguments>
|
||||
<AppSymbolsArguments>$(AppSymbolsArguments);Description=Symbol packages for Microsoft.AspNetCore.App shared framework</AppSymbolsArguments>
|
||||
<AllSymbolsArguments>SymbolsWorkDir=$(AllSharedFxSymbolsDirectory)</AllSymbolsArguments>
|
||||
<AllSymbolsArguments>$(AllSymbolsArguments);SymbolsNuspecIdSuffix=Microsoft.AspNetCore.All.symbols</AllSymbolsArguments>
|
||||
<AllSymbolsArguments>$(AllSymbolsArguments);Description=Symbol packages for Microsoft.AspNetCore.All shared framework</AllSymbolsArguments>
|
||||
</PropertyGroup>
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildSharedFxSymbols" Properties="$(AppSymbolsArguments)" />
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildSharedFxSymbols" Properties="$(AllSymbolsArguments)" />
|
||||
|
||||
<!-- Replace assemblies with crossgen output -->
|
||||
<Copy
|
||||
|
|
@ -383,4 +458,5 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="BuildSharedFx" DependsOnTargets="ResolveSharedFxFiles;CrossGenAssemblies;CrossGenSymbols;PackSharedFx"/>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -25,10 +25,6 @@
|
|||
<IntermediateInstaller Include="osx-x64" FileExt=".tar.gz" />
|
||||
<IntermediateInstaller Include="linux-x64" FileExt=".tar.gz" />
|
||||
|
||||
<RuntimeSymbolsArchive Include="win-x86" FileExt=".zip" />
|
||||
<RuntimeSymbolsArchive Include="win-x64" FileExt=".zip" />
|
||||
<RuntimeSymbolsArchive Include="linux-x64" FileExt=".tar.gz" />
|
||||
|
||||
<NativeInstaller Include="win-x86" FileExt=".exe" />
|
||||
<NativeInstaller Include="win-x86" FileExt=".zip" />
|
||||
<NativeInstaller Include="win-x64" FileExt=".exe" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>$ID$</id>
|
||||
<version>$VERSION$</version>
|
||||
<description>$DESCRIPTION$</description>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>Microsoft</owners>
|
||||
<copyright>Copyright © Microsoft Corporation</copyright>
|
||||
<licenseUrl>https://raw.githubusercontent.com/aspnet/Home/2.0.0/LICENSE.txt</licenseUrl>
|
||||
<iconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
|
||||
<projectUrl>https://asp.net</projectUrl>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<serviceable Condition="'$(Configuration)' == 'Release'">true</serviceable>
|
||||
<tags>aspnetcore</tags>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="**\*.pdb" target="" />
|
||||
<file src="**\*.map" target="" />
|
||||
</files>
|
||||
</package>
|
||||
Loading…
Reference in New Issue