598 lines
42 KiB
XML
598 lines
42 KiB
XML
<Project>
|
|
<PropertyGroup>
|
|
<RedistLayoutPath>$(BaseOutputPath)$(Configuration)\dotnet\</RedistLayoutPath>
|
|
<SdkInternalLayoutPath>$(BaseOutputPath)$(Configuration)\dotnet-internal\</SdkInternalLayoutPath>
|
|
<DownloadsFolder>$(IntermediateOutputPath)downloads\</DownloadsFolder>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<!-- Blob storage directories are not stabilized, so these must refer to a package that does not stabilize -->
|
|
<!-- In source build, the layout does match, so use the runtime package versions rather than the VS redist versions -->
|
|
<AspNetCoreBlobVersion>$(VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion)</AspNetCoreBlobVersion>
|
|
<AspNetCoreBlobVersion Condition=" '$(DotNetBuildFromSource)' == 'true' and '$(DotNetBuildOffline)' == 'true' ">$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCoreBlobVersion>
|
|
|
|
<CoreSetupBlobVersion>$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)</CoreSetupBlobVersion>
|
|
<CoreSetupBlobVersion Condition=" '$(DotNetBuildFromSource)' == 'true' and '$(DotNetBuildOffline)' == 'true' ">$(MicrosoftNETCoreAppRuntimePackageVersion)</CoreSetupBlobVersion>
|
|
|
|
<WindowsDesktopBlobVersion>$(VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion)</WindowsDesktopBlobVersion>
|
|
|
|
<!-- Because the ref packs are not serviced in every build, the blob location may vary -->
|
|
<!-- Note that there may need to be a tweak for source build if we rev the targeting pack, something of the form
|
|
<NETCoreAppTargetingPackBlobVersion Condition=" '$(DotNetBuildFromSource)' == 'true' and '$(DotNetBuildOffline)' == 'true' ">$(CoreSetupBlobVersion)</NETCoreAppTargetingPackBlobVersion>
|
|
-->
|
|
<NETCoreAppTargetingPackBlobVersion>$(VSRedistCommonNetCoreTargetingPackx6480PackageVersion)</NETCoreAppTargetingPackBlobVersion>
|
|
|
|
<AspNetCoreTargetingPackBlobVersion>$(MicrosoftAspNetCoreAppRefInternalPackageVersion)</AspNetCoreTargetingPackBlobVersion>
|
|
<WindowsDesktopTargetingPackBlobVersion>$(VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion)</WindowsDesktopTargetingPackBlobVersion>
|
|
<NETStandardTargetingPackBlobVersion>3.0.0</NETStandardTargetingPackBlobVersion>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="SetupBundledComponents" DependsOnTargets="GetCurrentRuntimeInformation;SetupFileExtensions;SetBuildDefaults">
|
|
<PropertyGroup>
|
|
<SdkOutputDirectory>$(RedistLayoutPath)sdk\$(Version)\</SdkOutputDirectory>
|
|
|
|
<InternalBuild Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">true</InternalBuild>
|
|
<InternalBaseURL Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">https://dotnetbuilds.blob.core.windows.net/internal/</InternalBaseURL>
|
|
|
|
<PublicBaseURL Condition="'$(PublicBaseURL)' == ''">https://dotnetcli.blob.core.windows.net/dotnet/</PublicBaseURL>
|
|
|
|
<CoreSetupRid Condition="'$(CoreSetupRid)' == ''">$(HostRid)</CoreSetupRid>
|
|
<CoreSetupRid Condition=" ('$(OSName)' == 'win' or '$(OSName)' == 'osx' or '$(OSName)' == 'freebsd') and '$(DotNetBuildFromSource)' != 'true' ">$(OSName)-$(Architecture)</CoreSetupRid>
|
|
|
|
<!-- only the runtime OSX .pkgs have a `-internal` suffix -->
|
|
<InstallerStartSuffix Condition="$([MSBuild]::IsOSPlatform('OSX'))">-internal</InstallerStartSuffix>
|
|
|
|
<!-- Downloaded Installers + Archives -->
|
|
|
|
<!-- Use the "x64" Rid when downloading Linux shared framework 'DEB' installer files. -->
|
|
<SharedFrameworkInstallerFileRid>$(CoreSetupRid)</SharedFrameworkInstallerFileRid>
|
|
<SharedFrameworkInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">$(InstallerTargetArchitecture)</SharedFrameworkInstallerFileRid>
|
|
|
|
<!-- Use the "x64" Rid when downloading Linux runtime dependencies Debian package. -->
|
|
<RuntimeDepsInstallerFileRid>$(CoreSetupRid)</RuntimeDepsInstallerFileRid>
|
|
<RuntimeDepsInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' ">$(Architecture)</RuntimeDepsInstallerFileRid>
|
|
<RuntimeDepsInstallerFileRid Condition=" '$(IsRPMBasedDistro)' == 'true' And '$(UsePortableLinuxSharedFramework)' != 'true' ">$(OSName)-$(InstallerTargetArchitecture)</RuntimeDepsInstallerFileRid>
|
|
<RuntimeDepsInstallerFileRid Condition=" '$(CoreSetupRid)' == 'rhel.7-x64' And '$(Architecture)' == 'Arm64' And '$(UsePortableLinuxSharedFramework)' == 'true' ">rhel.7-aarch64</RuntimeDepsInstallerFileRid>
|
|
|
|
<AlternateArchitecture Condition="'$(Architecture)' == 'x86'">x64</AlternateArchitecture>
|
|
<AlternateArchitecture Condition="'$(Architecture)' == 'x64'">x86</AlternateArchitecture>
|
|
<DownloadedSharedHostInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedHostInstallerFileName>
|
|
<DownloadedHostFxrInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedHostFxrInstallerFileName>
|
|
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' and '$(PgoInstrument)' != 'true' ">dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppRuntimePackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
|
|
<DownloadedSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' and '$(PgoInstrument)' == 'true' ">dotnet-runtime$(InstallerStartSuffix)$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedSharedFrameworkInstallerFileName>
|
|
<DownloadedRuntimeDepsInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-runtime-deps-$(SharedHostVersion)-$(RuntimeDepsInstallerFileRid)$(InstallerExtension)</DownloadedRuntimeDepsInstallerFileName>
|
|
<DownloadedWinFormsAndWpfSharedFrameworkInstallerFileName Condition=" '$(InstallerExtension)' != '' ">windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedWinFormsAndWpfSharedFrameworkInstallerFileName>
|
|
<DownloadedNetCoreAppTargetingPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-targeting-pack-$(MicrosoftNETCoreAppRefPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedNetCoreAppTargetingPackInstallerFileName>
|
|
<DownloadedNetCoreAppHostPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-apphost-pack-$(MicrosoftNETCoreAppHostPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedNetCoreAppHostPackInstallerFileName>
|
|
<DownloadedAlternateNetCoreAppHostPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-apphost-pack-$(MicrosoftNETCoreAppHostPackageVersion)-$(SharedFrameworkInstallerFileRid)_$(AlternateArchitecture)$(InstallerExtension)</DownloadedAlternateNetCoreAppHostPackInstallerFileName>
|
|
<DownloadedArmNetCoreAppHostPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-apphost-pack-$(MicrosoftNETCoreAppHostPackageVersion)-$(SharedFrameworkInstallerFileRid)_arm$(InstallerExtension)</DownloadedArmNetCoreAppHostPackInstallerFileName>
|
|
<DownloadedArm64NetCoreAppHostPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">dotnet-apphost-pack-$(MicrosoftNETCoreAppHostPackageVersion)-$(SharedFrameworkInstallerFileRid)_arm64$(InstallerExtension)</DownloadedArm64NetCoreAppHostPackInstallerFileName>
|
|
<DownloadedWindowsDesktopTargetingPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">windowsdesktop-targeting-pack-$(MicrosoftWindowsDesktopAppRefPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedWindowsDesktopTargetingPackInstallerFileName>
|
|
<DownloadedNetStandardTargetingPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">netstandard-targeting-pack-$(NETStandardLibraryRefPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)</DownloadedNetStandardTargetingPackInstallerFileName>
|
|
<!-- osx-arm64 netstandard targeting pack pkg is unavailable. Use osx-x64.
|
|
This should be OK, because the package is just a compressed file containing reference assemblies and
|
|
runtime independent manifest text files.
|
|
-->
|
|
<DownloadedNetStandardTargetingPackInstallerFileName Condition="'$(SharedFrameworkInstallerFileRid)' == 'osx-arm64'">netstandard-targeting-pack-$(NETStandardLibraryRefPackageVersion)-osx-x64$(InstallerExtension)</DownloadedNetStandardTargetingPackInstallerFileName>
|
|
<NetStandardTargetingPackTargetFramework>netstandard$(NETStandardLibraryRefPackageVersion.Split('.')[0])$(NETStandardLibraryRefPackageVersion.Split('.')[1])</NetStandardTargetingPackTargetFramework>
|
|
|
|
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
|
|
<SharedFrameworkRid>$(CoreSetupRid)</SharedFrameworkRid>
|
|
<SharedFrameworkRid Condition="$(ProductMonikerRid.StartsWith('linux-musl'))">$(ProductMonikerRid)</SharedFrameworkRid>
|
|
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-$(Architecture)</SharedFrameworkRid>
|
|
<CombinedFrameworkHostArchiveFileName Condition=" '$(PgoInstrument)' != 'true' ">dotnet-runtime-$(MicrosoftNETCoreAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostArchiveFileName>
|
|
<CombinedFrameworkHostArchiveFileName Condition=" '$(PgoInstrument)' == 'true' ">dotnet-runtime$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostArchiveFileName>
|
|
<WinFormsAndWpfSharedFxArchiveFileName>windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</WinFormsAndWpfSharedFxArchiveFileName>
|
|
|
|
<Crossgen2Rid>$(HostOSName)-$(BuildArchitecture)</Crossgen2Rid>
|
|
<Crossgen2Rid Condition="'$(DotNetBuildFromSource)' == 'true'">$(SharedFrameworkRid)</Crossgen2Rid>
|
|
|
|
<AspNetCoreInstallerRid Condition="'$(AspNetCoreInstallerRid)' == ''">$(SharedFrameworkRid)</AspNetCoreInstallerRid>
|
|
<AspNetCoreInstallerRid Condition="'$(SharedFrameworkRid)' == 'rhel.6-x64'">linux-x64</AspNetCoreInstallerRid>
|
|
<AspNetCoreArchiveRid>$(AspNetCoreInstallerRid)</AspNetCoreArchiveRid>
|
|
<AspNetCoreInstallerRid Condition="('$(InstallerExtension)' == '.deb' OR '$(InstallerExtension)' == '.rpm') AND '$(Architecture)' != 'arm64'">x64</AspNetCoreInstallerRid>
|
|
<AspNetCoreInstallerRid Condition="'$(InstallerExtension)' == '.rpm' AND '$(Architecture)' == 'arm64'">aarch64</AspNetCoreInstallerRid>
|
|
|
|
<DownloadedAspNetCoreSharedFxInstallerFileName Condition=" '$(InstallerExtension)' != '' AND !$([MSBuild]::IsOSPlatform('OSX')) ">aspnetcore-runtime-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)</DownloadedAspNetCoreSharedFxInstallerFileName>
|
|
<DownloadedAspNetCoreSharedFxInstallerFileName Condition=" '$(InstallerExtension)' == '.msi' ">aspnetcore-runtime-$(VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)</DownloadedAspNetCoreSharedFxInstallerFileName>
|
|
<DownloadedAspNetCoreSharedFxWixLibFileName Condition=" '$(InstallerExtension)' == '.msi' ">aspnetcore-runtime-internal-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreInstallerRid).wixlib</DownloadedAspNetCoreSharedFxWixLibFileName>
|
|
<DownloadedAspNetTargetingPackInstallerFileName Condition=" '$(InstallerExtension)' != '' ">aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefPackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)</DownloadedAspNetTargetingPackInstallerFileName>
|
|
<DownloadedAspNetTargetingPackInstallerFileName Condition=" '$(InstallerExtension)' == '.msi' ">aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefInternalPackageVersion)-$(AspNetCoreInstallerRid)$(InstallerExtension)</DownloadedAspNetTargetingPackInstallerFileName>
|
|
<DownloadedAspNetCoreV2ModuleInstallerFileName Condition=" '$(InstallerExtension)' == '.msi' ">aspnetcoremodule_$(Architecture)_en_v2_$(MicrosoftAspNetCoreAppRuntimePackageVersion)$(InstallerExtension)</DownloadedAspNetCoreV2ModuleInstallerFileName>
|
|
<AspNetTargetingPackArchiveFileName>aspnetcore-targeting-pack-$(MicrosoftAspNetCoreAppRefPackageVersion)-$(AspNetCoreArchiveRid)$(ArchiveExtension)</AspNetTargetingPackArchiveFileName>
|
|
<AspNetCoreSharedFxArchiveFileName>aspnetcore-runtime-$(MicrosoftAspNetCoreAppRuntimePackageVersion)-$(AspNetCoreArchiveRid)$(ArchiveExtension)</AspNetCoreSharedFxArchiveFileName>
|
|
|
|
<!-- Used to detect if ASP.NET Core is built against the same version of Microsoft.NETCore.App. -->
|
|
<AspNetCoreSharedFxBaseRuntimeVersionFileName>aspnetcore_base_runtime.version</AspNetCoreSharedFxBaseRuntimeVersionFileName>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<CoreSetupRootUrl>$(PublicBaseURL)Runtime/</CoreSetupRootUrl>
|
|
<CoreSetupRootUrl Condition=" '$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildOffline)' == 'true' ">$(PublicBaseURL)</CoreSetupRootUrl>
|
|
<AspNetCoreSharedFxRootUrl>$(PublicBaseURL)aspnetcore/Runtime/</AspNetCoreSharedFxRootUrl>
|
|
<AspNetCoreSharedFxRootUrl Condition=" '$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildOffline)' == 'true' ">$(PublicBaseURL)</AspNetCoreSharedFxRootUrl>
|
|
<WinFormsAndWpfSharedFxRootUrl>$(PublicBaseURL)WindowsDesktop/</WinFormsAndWpfSharedFxRootUrl>
|
|
<CoreSetupDownloadDirectory>$(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppRuntimePackageVersion)</CoreSetupDownloadDirectory>
|
|
<CombinedSharedHostAndFrameworkArchive>$(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension)</CombinedSharedHostAndFrameworkArchive>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('WINDOWS')) And !$(Architecture.StartsWith('arm'))">
|
|
<AlternateAppHostRid>win-$(AlternateArchitecture)</AlternateAppHostRid>
|
|
<ArmAppHostRid>win-arm</ArmAppHostRid>
|
|
<Arm64AppHostRid>win-arm64</Arm64AppHostRid>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('WINDOWS')) And '$(Architecture)' == 'arm64'">
|
|
<AlternateAppHostRid>win-x86</AlternateAppHostRid>
|
|
<x64AppHostRid>win-x64</x64AppHostRid>
|
|
<ArmAppHostRid>win-arm</ArmAppHostRid>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<BundledLayoutComponent Include="CombinedSharedHostAndFrameworkArchive">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<BaseUrl Condition=" '$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildOffline)' == 'true' ">$(CoreSetupRootUrl)</BaseUrl>
|
|
<DownloadFileName>$(CombinedFrameworkHostArchiveFileName)</DownloadFileName>
|
|
<RelativeLayoutPath></RelativeLayoutPath>
|
|
</BundledLayoutComponent>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetCoreAppTargetingPackNupkg">
|
|
<PackageName>Microsoft.NETCore.App.Ref</PackageName>
|
|
<PackageVersion>$(MicrosoftNETCoreAppRefPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetStandardTargetingPackNupkg">
|
|
<PackageName>NETStandard.Library.Ref</PackageName>
|
|
<PackageVersion>$(NETStandardLibraryRefPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(NetStandardTargetingPackTargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftAspNetCoreAppTargetingPackNupkg">
|
|
<PackageName>Microsoft.AspNetCore.App.Ref</PackageName>
|
|
<PackageVersion>$(MicrosoftAspNetCoreAppRefPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetCoreAppHostPackNupkg">
|
|
<PackageName>Microsoft.NETCore.App.Host.$(SharedFrameworkRid)</PackageName>
|
|
<PackageVersion>$(MicrosoftNETCoreAppHostPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetCoreAppHostPackNupkg_Alternate" Condition="'$(AlternateAppHostRid)' != ''">
|
|
<PackageName>Microsoft.NETCore.App.Host.$(AlternateAppHostRid)</PackageName>
|
|
<PackageVersion>$(MicrosoftNETCoreAppHostPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetCoreAppHostPackNupkg_Arm" Condition="'$(ArmAppHostRid)' != ''">
|
|
<PackageName>Microsoft.NETCore.App.Host.$(ArmAppHostRid)</PackageName>
|
|
<PackageVersion>$(MicrosoftNETCoreAppHostPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetCoreAppHostPackNupkg_Arm64" Condition="'$(Arm64AppHostRid)' != ''">
|
|
<PackageName>Microsoft.NETCore.App.Host.$(Arm64AppHostRid)</PackageName>
|
|
<PackageVersion>$(MicrosoftNETCoreAppHostPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackage Include="MicrosoftNetCoreAppHostPackNupkg_x64" Condition="'$(x64AppHostRid)' != ''">
|
|
<PackageName>Microsoft.NETCore.App.Host.$(x64AppHostRid)</PackageName>
|
|
<PackageVersion>$(MicrosoftNETCoreAppHostPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledInstallerComponent Include="DownloadedRuntimeDepsInstallerFile"
|
|
Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedRuntimeDepsInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedSharedFrameworkInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedSharedFrameworkInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedSharedHostInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedSharedHostInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedHostFxrInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedHostFxrInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedNetCoreAppTargetingPackInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(NETCoreAppTargetingPackBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedNetCoreAppTargetingPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<!-- TODO: Should we somehow obtain a .NET Standard ARM64 package? -->
|
|
<BundledInstallerComponent Include="DownloadedNetStandardTargetingPackInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(NETCoreAppTargetingPackBlobVersion)</BaseUrl>
|
|
<BaseUrl>$(CoreSetupRootUrl)3.0.0</BaseUrl>
|
|
<DownloadFileName>$(DownloadedNetStandardTargetingPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedNetCoreAppHostPackInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedNetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedAlternateNetCoreAppHostPackInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedAlternateNetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedArmNetCoreAppHostPackInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedArmNetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedArm64NetCoreAppHostPackInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
|
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedArm64NetCoreAppHostPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedWindowsDesktopTargetingPackInstallerFile"
|
|
Condition="'$(InstallerExtension)' == '.msi' And '$(SkipBuildingInstallers)' != 'true' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
|
|
<BaseUrl>$(WinFormsAndWpfSharedFxRootUrl)$(WindowsDesktopTargetingPackBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedWindowsDesktopTargetingPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledLayoutComponent Include="ToolsetArchive">
|
|
<BaseUrl>$(PublicBaseURL)Sdk/$(MicrosoftDotnetToolsetInternalPackageVersion)</BaseUrl>
|
|
<BaseUrl Condition=" '$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildOffline)' == 'true' ">$(PublicBaseURL)</BaseUrl>
|
|
<DownloadFileName>dotnet-toolset-internal-$(MicrosoftDotnetToolsetInternalPackageVersion).zip</DownloadFileName>
|
|
<RelativeLayoutPath>sdk/$(Version)</RelativeLayoutPath>
|
|
</BundledLayoutComponent>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" '$(IncludeAspNetCoreRuntime)' != 'false' ">
|
|
<BundledLayoutComponent Include="DownloadedAspNetCoreSharedFxArchiveFile">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
|
<BaseUrl Condition=" '$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildOffline)' == 'true' ">$(AspNetCoreSharedFxRootUrl)</BaseUrl>
|
|
<DownloadFileName>$(AspNetCoreSharedFxArchiveFileName)</DownloadFileName>
|
|
<RelativeLayoutPath></RelativeLayoutPath>
|
|
</BundledLayoutComponent>
|
|
|
|
<!-- The AspNet does not provide native MacOS PKG installers at this time; we use AspNet archives.
|
|
https://github.com/aspnet/AspNetCore/issues/8806 -->
|
|
<BundledLayoutComponent Include="DownloadedAspNetTargetingPackArchiveFile"
|
|
Condition="'$(InstallerExtension)' == '.pkg' And '$(SkipBuildingInstallers)' != 'true' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreTargetingPackBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(AspNetTargetingPackArchiveFileName)</DownloadFileName>
|
|
<RelativeLayoutPath></RelativeLayoutPath>
|
|
</BundledLayoutComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedAspNetTargetingPackInstallerFile"
|
|
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreTargetingPackBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedAspNetTargetingPackInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedAspNetCoreSharedFxInstallerFile"
|
|
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedAspNetCoreSharedFxInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedAspNetCoreSharedFxWixLibFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedAspNetCoreSharedFxWixLibFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedAspNetCoreV2ModuleInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedAspNetCoreV2ModuleInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
|
|
<BundledInstallerComponent Include="AspNetCoreSharedFxBaseRuntimeVersionFile"
|
|
Condition="!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64'">
|
|
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
|
|
<BaseUrl Condition=" '$(DotNetBuildFromSource)' == 'true' AND '$(DotNetBuildOffline)' == 'true' ">$(AspNetCoreSharedFxRootUrl)</BaseUrl>
|
|
<DownloadFileName>$(AspNetCoreSharedFxBaseRuntimeVersionFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup>
|
|
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' AND '$(Architecture)' == 'arm'">false</IncludeWpfAndWinForms>
|
|
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' AND '$(OS)' == 'Windows_NT'">true</IncludeWpfAndWinForms>
|
|
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' ">false</IncludeWpfAndWinForms>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup Condition=" '$(IncludeWpfAndWinForms)' != 'false' ">
|
|
<BundledLayoutPackage Include="MicrosoftWindowsDesktopAppTargetingPackNupkg">
|
|
<PackageName>Microsoft.WindowsDesktop.App.Ref</PackageName>
|
|
<PackageVersion>$(MicrosoftWindowsDesktopAppRefPackageVersion)</PackageVersion>
|
|
<TargetFramework>$(TargetFramework)</TargetFramework>
|
|
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutComponent Include="WinFormsAndWpfSharedFxArchiveFile">
|
|
<BaseUrl>$(WinFormsAndWpfSharedFxRootUrl)$(WindowsDesktopBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(WinFormsAndWpfSharedFxArchiveFileName)</DownloadFileName>
|
|
</BundledLayoutComponent>
|
|
|
|
<BundledInstallerComponent Include="DownloadedWinFormsAndWpfSharedFrameworkInstallerFile"
|
|
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64' or '$(Rid)' == 'osx-arm64')">
|
|
<BaseUrl>$(WinFormsAndWpfSharedFxRootUrl)$(WindowsDesktopBlobVersion)</BaseUrl>
|
|
<DownloadFileName>$(DownloadedWinFormsAndWpfSharedFrameworkInstallerFileName)</DownloadFileName>
|
|
</BundledInstallerComponent>
|
|
</ItemGroup>
|
|
|
|
</Target>
|
|
|
|
<Target Name="DownloadBundledComponents" DependsOnTargets="SetupBundledComponents">
|
|
<ItemGroup>
|
|
<BundledLayoutComponent>
|
|
<DownloadDestination>$(DownloadsFolder)%(DownloadFileName)</DownloadDestination>
|
|
</BundledLayoutComponent>
|
|
<BundledInstallerComponent>
|
|
<DownloadDestination>$(DownloadsFolder)%(DownloadFileName)</DownloadDestination>
|
|
</BundledInstallerComponent>
|
|
<ComponentToDownload Include="@(BundledLayoutComponent);@(BundledInstallerComponent)">
|
|
<ShouldDownload Condition="!Exists('%(DownloadDestination)')">true</ShouldDownload>
|
|
|
|
<!--
|
|
Replaces the public base url with the private one.
|
|
-->
|
|
<PrivateBaseUrl>%(BaseUrl)</PrivateBaseUrl>
|
|
<PrivateBaseUrl Condition="'$(InternalBuild)' == 'true'">$([System.String]::new('%(ComponentToDownload.PrivateBaseUrl)').Replace('$(PublicBaseURL)', '$(InternalBaseURL)'))</PrivateBaseUrl>
|
|
</ComponentToDownload>
|
|
|
|
<!-- Now transform the group of components into a list of Uris,
|
|
with shared metadata DownloadDestination and potentially the encoded key token for the private url.
|
|
Then use task batching to send batched itemgroups to the DownloadFile task that have the same
|
|
DownloadDestination. -->
|
|
|
|
<UrisToDownload Include="%(ComponentToDownload.BaseUrl)/%(ComponentToDownload.DownloadFileName)" Condition="'%(ComponentToDownload.ShouldDownload)' == 'true'">
|
|
<ShouldDownload>%(ComponentToDownload.ShouldDownload)</ShouldDownload>
|
|
<DownloadDestination>%(ComponentToDownload.DownloadDestination)</DownloadDestination>
|
|
</UrisToDownload>
|
|
<UrisToDownload Include="$([System.String]::Copy('%(ComponentToDownload.BaseUrl)').Replace($(PublicBaseURL), 'https://dotnetbuilds.blob.core.windows.net/public/'))/%(ComponentToDownload.DownloadFileName)" Condition="'%(ComponentToDownload.ShouldDownload)' == 'true'">
|
|
<ShouldDownload>%(ComponentToDownload.ShouldDownload)</ShouldDownload>
|
|
<DownloadDestination>%(ComponentToDownload.DownloadDestination)</DownloadDestination>
|
|
</UrisToDownload>
|
|
<UrisToDownload Include="%(ComponentToDownload.PrivateBaseUrl)/%(ComponentToDownload.DownloadFileName)" Condition="'%(ComponentToDownload.ShouldDownload)' == 'true' and '$(DotNetRuntimeSourceFeedKey)' != ''">
|
|
<ShouldDownload>%(ComponentToDownload.ShouldDownload)</ShouldDownload>
|
|
<DownloadDestination>%(ComponentToDownload.DownloadDestination)</DownloadDestination>
|
|
<token>$(DotNetRuntimeSourceFeedKey)</token>
|
|
</UrisToDownload>
|
|
<UrisToDownload Include="$([System.String]::Copy('%(ComponentToDownload.PrivateBaseUrl)').Replace($(InternalBaseURL), 'https://dotnetbuilds.blob.core.windows.net/internal/'))/%(ComponentToDownload.DownloadFileName)" Condition="'%(ComponentToDownload.ShouldDownload)' == 'true' and '$(DotNetRuntimeSourceFeedKey)' != ''">
|
|
<ShouldDownload>%(ComponentToDownload.ShouldDownload)</ShouldDownload>
|
|
<DownloadDestination>%(ComponentToDownload.DownloadDestination)</DownloadDestination>
|
|
<token>$(dotnetbuilds-internal-container-read-token-base64)</token>
|
|
</UrisToDownload>
|
|
</ItemGroup>
|
|
|
|
<DownloadFile Condition=" '@(UrisToDownload)' != '' and %(ShouldDownload)"
|
|
Uris="@(UrisToDownload)"
|
|
DestinationPath="%(DownloadDestination)" />
|
|
|
|
<ItemGroup>
|
|
<BundledLayoutPackageDownloadProject Include="$(MSBuildThisFileDirectory)DownloadPackage.csproj">
|
|
<Properties>
|
|
PackageToRestore=%(BundledLayoutPackage.PackageName);
|
|
PackageVersionToRestore=%(BundledLayoutPackage.PackageVersion);
|
|
TargetFramework=%(BundledLayoutPackage.TargetFramework);
|
|
LayoutPackageDescription=%(BundledLayoutPackage.Identity)
|
|
</Properties>
|
|
</BundledLayoutPackageDownloadProject>
|
|
</ItemGroup>
|
|
|
|
<MSBuild
|
|
BuildInParallel="False"
|
|
Projects="@(BundledLayoutPackageDownloadProject)">
|
|
</MSBuild>
|
|
|
|
<ItemGroup>
|
|
<!-- Use lowercase package name in package path -->
|
|
<BundledLayoutPackage>
|
|
<LoweredPackageName>$([MSBuild]::ValueOrDefault('%(BundledLayoutPackage.PackageName)', '').ToLower())</LoweredPackageName>
|
|
</BundledLayoutPackage>
|
|
|
|
<BundledLayoutPackageDownloadFiles Include="$(NuGetPackageRoot)\%(BundledLayoutPackage.LoweredPackageName)\%(BundledLayoutPackage.PackageVersion)\**\*.*">
|
|
<RelativeLayoutPath>%(BundledLayoutPackage.RelativeLayoutPath)</RelativeLayoutPath>
|
|
<LayoutPackageDescription>%(BundledLayoutPackage.Identity)</LayoutPackageDescription>
|
|
</BundledLayoutPackageDownloadFiles>
|
|
|
|
<!-- Remove files from the root of the package, as these are either files NuGet writes, or not necessary -->
|
|
<BundledLayoutPackageDownloadFiles Remove="$(NuGetPackageRoot)\%(BundledLayoutPackage.LoweredPackageName)\%(BundledLayoutPackage.PackageVersion)\*.*" />
|
|
|
|
<!-- Set destination path in layout -->
|
|
<BundledLayoutPackageDownloadFiles>
|
|
<DestinationPath>%(BundledLayoutPackageDownloadFiles.RecursiveDir)%(BundledLayoutPackageDownloadFiles.Filename)%(BundledLayoutPackageDownloadFiles.Extension)</DestinationPath>
|
|
</BundledLayoutPackageDownloadFiles>
|
|
<BundledLayoutPackageDownloadFiles>
|
|
<DestinationPath>$(RedistLayoutPath)/%(BundledLayoutPackageDownloadFiles.RelativeLayoutPath)/%(BundledLayoutPackageDownloadFiles.DestinationPath)</DestinationPath>
|
|
</BundledLayoutPackageDownloadFiles>
|
|
<BundledLayoutPackageDownloadFiles>
|
|
<DestinationPath>$([MSBuild]::NormalizePath(%(BundledLayoutPackageDownloadFiles.DestinationPath)))</DestinationPath>
|
|
</BundledLayoutPackageDownloadFiles>
|
|
|
|
<!-- Creating a new item here isn't strictly necessary, but makes it easier to see what's going on in the .binlog,
|
|
since the metadata updates don't show up there -->
|
|
<BundledLayoutPackageDownloadFilesWithDestination Include="@(BundledLayoutPackageDownloadFiles)"/>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="CleanLayoutPath">
|
|
<!-- Remove everything from the publish directory so we don't have left over items from previous builds -->
|
|
<RemoveDir Directories="$(RedistLayoutPath)" />
|
|
<MakeDir Directories="$(RedistLayoutPath)" />
|
|
</Target>
|
|
|
|
<Target Name="LayoutBundledComponents">
|
|
<ExtractArchiveToDirectory SourceArchive="%(BundledLayoutComponent.DownloadDestination)"
|
|
DestinationDirectory="$(RedistLayoutPath)/%(BundledLayoutComponent.RelativeLayoutPath)" />
|
|
|
|
<Copy SourceFiles="@(BundledLayoutPackageDownloadFilesWithDestination)"
|
|
DestinationFiles="@(BundledLayoutPackageDownloadFilesWithDestination->'%(DestinationPath)')"
|
|
SkipUnchangedFiles="true"
|
|
/>
|
|
|
|
</Target>
|
|
|
|
<Target Name="RetargetTools">
|
|
<ItemGroup>
|
|
<ToolRuntimeConfigPath Include="$(RedistLayoutPath)sdk/$(Version)/**/*.runtimeconfig.json" />
|
|
</ItemGroup>
|
|
|
|
<!-- Update runtimeconfig files for tools in the SDK to pin the shared frameworks to the one carried by this installer. -->
|
|
<UpdateRuntimeConfig
|
|
RuntimeConfigPaths="@(ToolRuntimeConfigPath)"
|
|
MicrosoftNetCoreAppVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)"
|
|
MicrosoftAspNetCoreAppVersion="$(MicrosoftAspNetCoreAppRuntimePackageVersion)" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateVersionFile"
|
|
DependsOnTargets="SetupBundledComponents;GetCommitHash;GenerateFullNuGetVersion">
|
|
<WriteLinesToFile File="$(SdkOutputDirectory).version"
|
|
Lines="$(GitCommitHash);$(Version);$(Rid);$(FullNugetVersion)"
|
|
Overwrite="true" />
|
|
|
|
<!-- This is a hack to make the full nuget version available during the publishing step -->
|
|
<WriteLinesToFile File="$(ArtifactsTmpDir)FullNugetVersion.version"
|
|
Lines="$(FullNugetVersion)"
|
|
Overwrite="true" />
|
|
</Target>
|
|
|
|
<Target Name="CopyIncludedWorkloadManifestFile" >
|
|
|
|
<ItemGroup>
|
|
<WorkloadManifestFilesContent Include="$([MSBuild]::ValueOrDefault('%(BundledManifests.Identity)', '').ToLower())" />
|
|
</ItemGroup>
|
|
|
|
<Error Text="No workload manifest content found." Condition="'@(WorkloadManifestFilesContent->Count())' == '0'" />
|
|
|
|
<WriteLinesToFile File="$(SdkOutputDirectory)IncludedWorkloadManifests.txt"
|
|
Lines="@(WorkloadManifestFilesContent)"
|
|
Overwrite="true" />
|
|
</Target>
|
|
|
|
<Target Name="LayoutWorkloadUserLocalMarker"
|
|
Condition="'$(DotNetBuildFromSource)' == 'true'">
|
|
<WriteLinesToFile File="$(RedistLayoutPath)metadata/workloads/$(CliProductBandVersion)00/userlocal"
|
|
Overwrite="true" />
|
|
</Target>
|
|
|
|
|
|
<Target Name="LayoutAppHostTemplate" DependsOnTargets="RunResolvePackageDependencies">
|
|
|
|
<PropertyGroup>
|
|
<NETCoreAppHostPackageName>Microsoft.NETCore.App.Host.$(SharedFrameworkRid)</NETCoreAppHostPackageName>
|
|
<AppHostRestorePath>$(IntermediateOutputPath)AppHostRestore\</AppHostRestorePath>
|
|
<AppHostTemplatePath>$(SdkOutputDirectory)AppHostTemplate</AppHostTemplatePath>
|
|
</PropertyGroup>
|
|
|
|
<RemoveDir Directories="$(AppHostRestorePath)" />
|
|
<MakeDir Directories="$(AppHostRestorePath)" />
|
|
|
|
<ItemGroup>
|
|
<AppHostTemplateDownloadPackageProject Include="$(MSBuildThisFileDirectory)DownloadPackage.csproj">
|
|
<Properties>
|
|
PackageToRestore=$(NETCoreAppHostPackageName);
|
|
PackageVersionToRestore=$(MicrosoftNETCoreAppHostPackageVersion);
|
|
TargetFramework=$(TargetFramework);
|
|
RestorePackagesPath=$(AppHostRestorePath);
|
|
RuntimeIdentifier=$(Rid)
|
|
</Properties>
|
|
</AppHostTemplateDownloadPackageProject>
|
|
</ItemGroup>
|
|
|
|
<MSBuild
|
|
BuildInParallel="False"
|
|
Projects="@(AppHostTemplateDownloadPackageProject)">
|
|
</MSBuild>
|
|
|
|
<PropertyGroup>
|
|
<AppHostExecutableName>AppHost$(ExeExtension)</AppHostExecutableName>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<AllFileOfRestoredAppHostPackage Include="$(AppHostRestorePath)\**\*.*" />
|
|
<NativeRestoredAppHostNETCore
|
|
Include="@(AllFileOfRestoredAppHostPackage)"
|
|
Condition="'%(FileName)%(Extension)' == '$(AppHostExecutableName)'"/>
|
|
</ItemGroup>
|
|
|
|
<Error Condition="@(NativeRestoredAppHostNETCore->Distinct()->Count()) != 1"
|
|
Text="Failed to determine the $(NETCoreAppHostPackageName) executable in @(AllFileOfRestoredAppHostPackage)" />
|
|
|
|
<Copy
|
|
SourceFiles="@(NativeRestoredAppHostNETCore)"
|
|
DestinationFolder="$(AppHostTemplatePath)" />
|
|
|
|
<Message Text="Copy from @(NativeRestoredAppHostNETCore) to $(AppHostTemplatePath)."
|
|
Importance="High" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="GeneratePrecomputedRarCache" DependsOnTargets="LayoutTemplates;LayoutManifests;LayoutBundledTools">
|
|
<ItemGroup>
|
|
<AssembliesToResolve Include="$(RedistLayoutPath)\**\*.dll" Exclude="$(RedistLayoutPath)\**\native\**\*.dll" />
|
|
</ItemGroup>
|
|
<ResolveAssemblyReference AssemblyFiles="@(AssembliesToResolve)" Silent="false" AssemblyInformationCacheOutputPath="$(RedistLayoutPath)sdk\$(Version)\SDKPrecomputedAssemblyReferences.cache" SearchPaths="{RawFileName}" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateLayout"
|
|
DependsOnTargets="DownloadBundledComponents;
|
|
CleanLayoutPath;
|
|
LayoutBundledComponents;
|
|
GenerateFullNuGetVersion;
|
|
GenerateVersionFile;
|
|
CopyIncludedWorkloadManifestFile;
|
|
GenerateBundledVersions;
|
|
LayoutRuntimeGraph;
|
|
LayoutTemplates;
|
|
LayoutManifests;
|
|
LayoutWorkloadUserLocalMarker;
|
|
LayoutBundledTools;
|
|
RetargetTools;
|
|
CrossgenLayout;
|
|
LayoutAppHostTemplate;
|
|
GeneratePrecomputedRarCache"
|
|
BeforeTargets="AfterBuild">
|
|
|
|
</Target>
|
|
|
|
<Target Name="GenerateInternalLayout"
|
|
DependsOnTargets="GenerateLayout"
|
|
BeforeTargets="AfterBuild">
|
|
|
|
<RemoveDir Directories="$(SdkInternalLayoutPath)" />
|
|
<MakeDir Directories="$(SdkInternalLayoutPath)" />
|
|
|
|
<!-- Create "SDK Internal" layout to create the MSI to bundle -->
|
|
<ItemGroup>
|
|
<SdkInternalFiles Include="$(RedistLayoutPath)sdk/$(Version)/**/*.*"/>
|
|
</ItemGroup>
|
|
|
|
<Copy SourceFiles="@(SdkInternalFiles)"
|
|
DestinationFiles="@(SdkInternalFiles -> '$(SdkInternalLayoutPath)sdk\$(Version)\%(RecursiveDir)%(Filename)%(Extension)')"/>
|
|
|
|
</Target>
|
|
</Project>
|