mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-11 02:13:38 +09:00

* Update dotnet SDK to 6.0 Preview 4 Update the minimum and target version of the SDK to 6.0 Preview 4. Part of https://github.com/dotnet/runtime/issues/53411 * Switch to using eng/targetingpacks.targets for redirecting runtime pack location in src/mono/sample * Fix binder tracing tests * Set UseMonoRuntime property so the dotnet SDK can pull the mono runtime packs This is necessary after the changes from https://github.com/dotnet/sdk/pull/16909. * Move UseMonoRuntimeProperty and set it to false in coreclr Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com> Co-authored-by: Elinor Fung <elfung@microsoft.com>
154 lines
10 KiB
XML
154 lines
10 KiB
XML
<!--
|
|
The following properties need to be set for this logic to work correctly:
|
|
- ProductVersion
|
|
- NetCoreAppCurrent
|
|
- NetCoreAppCurrentVersion
|
|
- MicrosoftNetCoreAppFrameworkName
|
|
- MicrosoftNetCoreAppRefPackDir
|
|
- optional: MicrosoftNetCoreAppRuntimePackDir
|
|
-->
|
|
|
|
<Project>
|
|
<PropertyGroup>
|
|
<LocalFrameworkOverrideName>$(MicrosoftNetCoreAppFrameworkName)</LocalFrameworkOverrideName>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(DisableImplicitFrameworkReferences)' != 'true' and
|
|
'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and
|
|
$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '$(NetCoreAppCurrentVersion)'))">
|
|
<UseLocalTargetingRuntimePack Condition="'$(UseLocalTargetingRuntimePack)' == ''">true</UseLocalTargetingRuntimePack>
|
|
<EnableTargetingPackDownload>false</EnableTargetingPackDownload>
|
|
<GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks>
|
|
</PropertyGroup>
|
|
|
|
<!-- Add Known* items if the SDK doesn't support the TargetFramework yet. -->
|
|
<ItemGroup Condition="'$(UseLocalTargetingRuntimePack)' == 'true'">
|
|
<KnownFrameworkReference Include="$(LocalFrameworkOverrideName)"
|
|
DefaultRuntimeFrameworkVersion="$(ProductVersion)"
|
|
LatestRuntimeFrameworkVersion="$(ProductVersion)"
|
|
RuntimeFrameworkName="$(LocalFrameworkOverrideName)"
|
|
RuntimePackNamePatterns="$(LocalFrameworkOverrideName).Runtime.**RID**"
|
|
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64"
|
|
TargetFramework="$(NetCoreAppCurrent)"
|
|
TargetingPackName="$(LocalFrameworkOverrideName).Ref"
|
|
TargetingPackVersion="$(ProductVersion)"
|
|
Condition="'@(KnownFrameworkReference)' == '' or !@(KnownFrameworkReference->AnyHaveMetadataValue('TargetFramework', '$(NetCoreAppCurrent)'))" />
|
|
<KnownRuntimePack Include="$(LocalFrameworkOverrideName)"
|
|
TargetFramework="$(NetCoreAppCurrent)"
|
|
RuntimeFrameworkName="$(LocalFrameworkOverrideName)"
|
|
LatestRuntimeFrameworkVersion="$(ProductVersion)"
|
|
RuntimePackNamePatterns="$(LocalFrameworkOverrideName).Runtime.Mono.**RID**"
|
|
RuntimePackRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;android-arm64;android-arm;android-x64;android-x86"
|
|
RuntimePackLabels="Mono"
|
|
Condition="'@(KnownRuntimePack)' == '' or !@(KnownRuntimePack->AnyHaveMetadataValue('TargetFramework', '$(NetCoreAppCurrent)'))"/>
|
|
<KnownAppHostPack Include="$(LocalFrameworkOverrideName)"
|
|
AppHostPackNamePattern="$(LocalFrameworkOverrideName).Host.**RID**"
|
|
AppHostPackVersion="$(ProductVersion)"
|
|
AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64"
|
|
TargetFramework="$(NetCoreAppCurrent)"
|
|
Condition="'@(KnownAppHostPack)' == '' or !@(KnownAppHostPack->AnyHaveMetadataValue('TargetFramework', '$(NetCoreAppCurrent)'))" />
|
|
<KnownCrossgen2Pack Include="$(LocalFrameworkOverrideName).Crossgen2"
|
|
TargetFramework="$(NetCoreAppCurrent)"
|
|
Crossgen2PackNamePattern="$(LocalFrameworkOverrideName).Crossgen2.**RID**"
|
|
Crossgen2PackVersion="$(ProductVersion)"
|
|
Crossgen2RuntimeIdentifiers="linux-musl-x64;linux-x64;win-x64"
|
|
Condition="'@(KnownCrossgen2Pack)' == '' or !@(KnownCrossgen2Pack->AnyHaveMetadataValue('TargetFramework', '$(NetCoreAppCurrent)'))" />
|
|
</ItemGroup>
|
|
|
|
<!-- Simple name references will be resolved from the targeting pack folders and should never be copied to the output. -->
|
|
<ItemGroup>
|
|
<Reference Update="@(Reference)">
|
|
<Private Condition="'%(Reference.Extension)' != '.dll'">false</Private>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
<!-- DisableImplicitAssemblyReferences support. -->
|
|
<Target Name="RemoveFrameworkReferences"
|
|
BeforeTargets="_HandlePackageFileConflicts"
|
|
AfterTargets="ResolveTargetingPackAssets"
|
|
Condition="'$(DisableImplicitAssemblyReferences)' == 'true' and
|
|
'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
|
|
<!-- Point MicrosoftNetCoreAppRefPackRefDir to the acquired targeting pack to use it later for AssemblySearchPaths resolution. -->
|
|
<PropertyGroup Condition="'$(UseLocalTargetingRuntimePack)' != 'true'">
|
|
<_NetCoreAppTargetFrameworkIdentifier Condition="$([MSBuild]::VersionLessThan($(TargetFrameworkVersion), '5.0'))">netcoreapp</_NetCoreAppTargetFrameworkIdentifier>
|
|
<_NetCoreAppTargetFrameworkIdentifier Condition="$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '5.0'))">net</_NetCoreAppTargetFrameworkIdentifier>
|
|
<MicrosoftNetCoreAppRefPackRefDir>%(ResolvedFrameworkReference.TargetingPackPath)\ref\$(_NetCoreAppTargetFrameworkIdentifier)$(TargetFrameworkVersion.TrimStart('v'))\</MicrosoftNetCoreAppRefPackRefDir>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Remove="@(Reference)"
|
|
Condition="'%(Reference.FrameworkReferenceName)' == '$(LocalFrameworkOverrideName)'" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- Add the resolved targeting pack to the assembly search path. -->
|
|
<Target Name="UseTargetingPackForAssemblySearchPaths"
|
|
BeforeTargets="ResolveAssemblyReferences;
|
|
DesignTimeResolveAssemblyReferences"
|
|
Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
|
|
<PropertyGroup>
|
|
<AssemblySearchPaths>$(AssemblySearchPaths);$(MicrosoftNetCoreAppRefPackRefDir.TrimEnd('/\'))</AssemblySearchPaths>
|
|
<DesignTimeAssemblySearchPaths>$(DesignTimeAssemblySearchPaths);$(MicrosoftNetCoreAppRefPackRefDir.TrimEnd('/\'))</DesignTimeAssemblySearchPaths>
|
|
</PropertyGroup>
|
|
</Target>
|
|
|
|
<!-- SDK tries to download runtime packs when RuntimeIdentifier is set, remove them from PackageDownload item. -->
|
|
<Target Name="RemoveRuntimePackFromDownloadItem"
|
|
Condition="'$(UseLocalTargetingRuntimePack)' == 'true'"
|
|
AfterTargets="ProcessFrameworkReferences">
|
|
<ItemGroup>
|
|
<PackageDownload Remove="@(PackageDownload)"
|
|
Condition="'$(UsePackageDownload)' == 'true' and $([System.String]::Copy('%(Identity)').StartsWith('$(LocalFrameworkOverrideName).Runtime'))" />
|
|
<PackageReference Remove="@(PackageReference)"
|
|
Condition="'$(UsePackageDownload)' != 'true' and $([System.String]::Copy('%(Identity)').StartsWith('$(LocalFrameworkOverrideName).Runtime'))" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- Use local targeting pack for NetCoreAppCurrent. -->
|
|
<Target Name="UpdateTargetingAndRuntimePack"
|
|
Condition="'$(UseLocalTargetingRuntimePack)' == 'true'"
|
|
AfterTargets="ResolveFrameworkReferences">
|
|
<ItemGroup>
|
|
<ResolvedTargetingPack Path="$(MicrosoftNetCoreAppRefPackDir.TrimEnd('/\'))"
|
|
NuGetPackageVersion="$(ProductVersion)"
|
|
PackageDirectory="$(MicrosoftNetCoreAppRefPackDir.TrimEnd('/\'))"
|
|
Condition="'%(ResolvedTargetingPack.RuntimeFrameworkName)' == '$(LocalFrameworkOverrideName)' and
|
|
Exists('$(MicrosoftNetCoreAppRefPackDir)data\FrameworkList.xml')" />
|
|
<ResolvedRuntimePack PackageDirectory="$(MicrosoftNetCoreAppRuntimePackDir)"
|
|
Condition="'$(MicrosoftNetCoreAppRuntimePackDir)' != '' and
|
|
'%(ResolvedRuntimePack.FrameworkName)' == '$(LocalFrameworkOverrideName)'" />
|
|
<ResolvedFrameworkReference TargetingPackPath="$(MicrosoftNetCoreAppRefPackDir.TrimEnd('/\'))"
|
|
TargetingPackVersion="$(ProductVersion)"
|
|
Condition="'%(Identity)' == '$(LocalFrameworkOverrideName)'" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- Update the local targeting pack's version as it's written into the runtimeconfig.json file to select the right framework. -->
|
|
<Target Name="UpdateRuntimeFrameworkVersion"
|
|
Condition="'$(UseLocalTargetingRuntimePack)' == 'true'"
|
|
AfterTargets="ResolveTargetingPackAssets">
|
|
<ItemGroup>
|
|
<RuntimeFramework Version="$(ProductVersion)"
|
|
Condition="'%(RuntimeFramework.FrameworkName)' == '$(LocalFrameworkOverrideName)'" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- Filter out conflicting implicit assembly references. -->
|
|
<Target Name="FilterImplicitAssemblyReferences"
|
|
Condition="'$(DisableImplicitAssemblyReferences)' != 'true'"
|
|
DependsOnTargets="ResolveProjectReferences"
|
|
AfterTargets="ResolveTargetingPackAssets">
|
|
<ItemGroup>
|
|
<_targetingPackReferenceExclusion Include="$(TargetName)" />
|
|
<_targetingPackReferenceExclusion Include="@(_ResolvedProjectReferencePaths->'%(Filename)')" />
|
|
<_targetingPackReferenceExclusion Include="@(DefaultReferenceExclusion)" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<_targetingPackReferenceWithExclusion Include="@(Reference)">
|
|
<Exclusion>%(_targetingPackReferenceExclusion.Identity)</Exclusion>
|
|
</_targetingPackReferenceWithExclusion>
|
|
<Reference Remove="@(_targetingPackReferenceWithExclusion)"
|
|
Condition="'%(_targetingPackReferenceWithExclusion.ExternallyResolved)' == 'true' and '%(_targetingPackReferenceWithExclusion.Filename)' == '%(_targetingPackReferenceWithExclusion.Exclusion)'" />
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|