Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leverage the shipping, roslyn based ApiCompat in dotnet/runtime #73263

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
4089ef2
ApiCompat infra changes
ViktorHofer Aug 2, 2022
9ec4dde
Convert baseline to suppression files
ViktorHofer Aug 2, 2022
c49347d
ApiCompat.proj
ViktorHofer Aug 19, 2022
9615fae
update suppressions
smasher164 Aug 25, 2022
49ce28d
sorted suppressions
smasher164 Aug 26, 2022
ce8871e
rebase and update suppressions
smasher164 Aug 29, 2022
610cc2a
enable attribute and param rules
smasher164 Aug 29, 2022
4d3cc27
Enable optional rules
ViktorHofer Aug 30, 2022
60147fd
WebAssemblyThreading proj
ViktorHofer Aug 30, 2022
5609581
CompatSuppression for XmlREaderWriter
ViktorHofer Aug 30, 2022
6d0769c
Enable optional rules correctly...
ViktorHofer Aug 30, 2022
ed11fbe
ThreadPool UnsupportedOSPlatformAttribute
ViktorHofer Aug 30, 2022
eff5465
VBCore CP0017
ViktorHofer Aug 30, 2022
2c55401
Migrate all CoreLibs over
ViktorHofer Aug 30, 2022
81ea902
Update ApiCompat.proj
ViktorHofer Aug 30, 2022
56b1070
Add ApiCompat.proj baselines
ViktorHofer Aug 30, 2022
a9d6da5
Update ApiCompat.proj
ViktorHofer Aug 30, 2022
0b9da8f
Clean-up suppression files with nint/IntPtr fix
ViktorHofer Aug 31, 2022
5ce44ea
Clean-up CoreLib suppression
ViktorHofer Aug 31, 2022
68d6d56
Update suppression files with latest apicompat fix
ViktorHofer Sep 8, 2022
54d37e1
Merge branch 'main' into ConsumeApiCompatValidateAssembliesTask
ViktorHofer Sep 8, 2022
c5236f4
Merge remote-tracking branch 'upstream/main' into ConsumeApiCompatVal…
ViktorHofer Sep 12, 2022
779582d
Update suppression files
ViktorHofer Sep 12, 2022
0630ec7
update suppressions
smasher164 Sep 19, 2022
5fb86eb
Update suppression files
ViktorHofer Sep 21, 2022
5ecd6fe
Clean-up obsolete suppression files
ViktorHofer Sep 21, 2022
4a1329d
Update suppression files
ViktorHofer Sep 21, 2022
c378e5c
Merge branch 'main' into ConsumeApiCompatValidateAssembliesTask
smasher164 Sep 29, 2022
a45f3d4
update suppressions
smasher164 Sep 29, 2022
b0e32ca
huge reduction in suppression file size
smasher164 Sep 29, 2022
857b383
update suppressions
smasher164 Oct 3, 2022
0998cbb
Merge branch 'main' of https://github.com/dotnet/runtime into Consume…
smasher164 Oct 3, 2022
b844b97
more suppressions removed
smasher164 Oct 3, 2022
2c34db6
update suppressions
smasher164 Oct 6, 2022
bd8c48f
Merge branch 'ConsumeApiCompatValidateAssembliesTask' of https://gith…
ViktorHofer Oct 12, 2022
346a5a4
Merge remote-tracking branch 'upstream/main' into ConsumeApiCompatVal…
ViktorHofer Oct 12, 2022
eaf59fd
Update dependencies and clean-up
ViktorHofer Oct 12, 2022
b1ca777
Add suppression files for CoreLib and fix path
ViktorHofer Oct 12, 2022
45b5aa5
Update CoreLib coreclr suppression file
ViktorHofer Oct 12, 2022
ea745fe
Update coreclr suppression files
ViktorHofer Oct 12, 2022
1054c68
Suppression file fixes and Linux path fixes
ViktorHofer Oct 12, 2022
08c7c89
Update coreclr suppression again)
ViktorHofer Oct 12, 2022
875b0ce
Fix suppression file path calculation
ViktorHofer Oct 12, 2022
6126424
Fix previous mistake
ViktorHofer Oct 12, 2022
504092f
Diagnostics.Tracing suppression file
ViktorHofer Oct 13, 2022
107080b
Threading suppression file fix
ViktorHofer Oct 13, 2022
48d56fa
Merge remote-tracking branch 'upstream/main' into ConsumeApiCompatVal…
ViktorHofer Oct 13, 2022
a3334bd
use global suppression for CryptoSignedXmlRecursionException
smasher164 Oct 14, 2022
ff41f8a
Merge remote-tracking branch 'upstream/main' into ConsumeApiCompatVal…
ViktorHofer Oct 15, 2022
5db9a5e
Add Specification.Tests suppression
ViktorHofer Oct 15, 2022
2af0165
Disable NoTargets ref copying
ViktorHofer Oct 15, 2022
ddf1391
Fix for coreclr build
ViktorHofer Oct 15, 2022
c346c88
Avoid duplicate project evals
ViktorHofer Oct 15, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@

<PropertyGroup>
<CustomBeforeNoTargets>$(RepositoryEngineeringDir)NoTargetsSdk.BeforeTargets.targets</CustomBeforeNoTargets>
<CustomAfterNoTargets>$(RepositoryEngineeringDir)NoTargetsSdk.AfterTargets.targets</CustomAfterNoTargets>
<CustomAfterTraversalTargets>$(RepositoryEngineeringDir)TraversalSdk.AfterTargets.targets</CustomAfterTraversalTargets>
</PropertyGroup>
</Project>
2 changes: 1 addition & 1 deletion docs/coding-guidelines/updating-ref-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ This document provides the steps you need to take to update the reference assemb

## For most assemblies within libraries

1. Implement the API in the source assembly and [build it](../workflow/building/libraries/README.md#building-individual-libraries). Note that when adding new public types, this might fail with a `TypeMustExist` error. The deadlock can be worked around by disabling the `RunApiCompat` property: `dotnet build /p:RunApiCompat=false`.
1. Implement the API in the source assembly and [build it](../workflow/building/libraries/README.md#building-individual-libraries). Note that when adding new public types, this might fail with a `TypeMustExist` error. The deadlock can be worked around by disabling ApiCompat's assembly validation: `dotnet build /p:ApiCompatValidateAssemblies=false`.
2. Run the following command (from the src directory) `dotnet msbuild /t:GenerateReferenceAssemblySource` to update the reference assembly**.
3. Navigate to the ref directory and build the reference assembly.
4. Add, build, and run tests.
Expand Down
7 changes: 7 additions & 0 deletions eng/NoTargetsSdk.AfterTargets.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Project>

<!-- Reset the following target to avoid copying references to an output directory.
TODO: Remove when https://github.com/microsoft/MSBuildSdks/pull/395 is merged. -->
<Target Name="CopyFilesToOutputDirectory" />

</Project>
4 changes: 4 additions & 0 deletions eng/TraversalSdk.AfterTargets.targets
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<Project>

<PropertyGroup>
<TraversalGlobalProperties>BuildAllProjects=true</TraversalGlobalProperties>
</PropertyGroup>

<!-- Uses the Microsoft.DotNet.Build.Tasks.TargetFramework package to filter out target frameworks from ProjectReferences. -->
<PropertyGroup Condition="'$(FilterTraversalProjectReferences)' == 'true'">
<BuildDependsOn>$(BuildDependsOn);ResolveP2PReferences</BuildDependsOn>
Expand Down
8 changes: 2 additions & 6 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,7 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>d2d39276af2db3da7816ee2dc543e120d7e5781e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="8.0.0-beta.22503.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>d2d39276af2db3da7816ee2dc543e120d7e5781e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="8.0.0-beta.22503.1">
<Dependency Name="Microsoft.DotNet.GenAPI" Version="8.0.0-beta.22480.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>d2d39276af2db3da7816ee2dc543e120d7e5781e</Sha>
</Dependency>
Expand Down Expand Up @@ -322,7 +318,7 @@
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
<Sha>ea9fb45000311153bfc91690f306cca2b80e6b83</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.ApiCompat.Task" Version="8.0.100-alpha.1.22462.3">
<Dependency Name="Microsoft.DotNet.ApiCompat.Task" Version="8.0.100-alpha.1.22511.23">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>3f2524bd65a6ab77b9160bcc23824dbc03990f3d</Sha>
</Dependency>
Expand Down
33 changes: 16 additions & 17 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -74,24 +74,23 @@
<PropertyGroup>
<StaticCsVersion>0.2.0</StaticCsVersion>
<!-- SDK dependencies -->
<MicrosoftDotNetApiCompatTaskVersion>8.0.100-alpha.1.22462.3</MicrosoftDotNetApiCompatTaskVersion>
<MicrosoftDotNetApiCompatTaskVersion>8.0.100-alpha.1.22511.23</MicrosoftDotNetApiCompatTaskVersion>
<!-- Arcade dependencies -->
<MicrosoftDotNetApiCompatVersion>8.0.0-beta.22503.1</MicrosoftDotNetApiCompatVersion>
<MicrosoftDotNetBuildTasksFeedVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetCodeAnalysisVersion>8.0.0-beta.22503.1</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>8.0.0-beta.22503.1</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>8.0.0-beta.22503.1</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.22503.1</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.22503.1</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksTargetFrameworkVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksTargetFrameworkVersion>
<MicrosoftDotNetBuildTasksTemplatingVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksTemplatingVersion>
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>8.0.0-beta.22503.1</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftDotNetRemoteExecutorVersion>8.0.0-beta.22503.1</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>8.0.0-beta.22503.1</MicrosoftDotNetVersionToolsTasksVersion>
<MicrosoftDotNetPackageTestingVersion>8.0.0-beta.22503.1</MicrosoftDotNetPackageTestingVersion>
<MicrosoftDotNetBuildTasksFeedVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksFeedVersion>
<MicrosoftDotNetCodeAnalysisVersion>8.0.0-beta.22480.2</MicrosoftDotNetCodeAnalysisVersion>
<MicrosoftDotNetGenAPIVersion>8.0.0-beta.22480.2</MicrosoftDotNetGenAPIVersion>
<MicrosoftDotNetGenFacadesVersion>8.0.0-beta.22480.2</MicrosoftDotNetGenFacadesVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.22480.2</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.22480.2</MicrosoftDotNetXUnitConsoleRunnerVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetBuildTasksInstallersVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksInstallersVersion>
<MicrosoftDotNetBuildTasksPackagingVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksPackagingVersion>
<MicrosoftDotNetBuildTasksTargetFrameworkVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksTargetFrameworkVersion>
<MicrosoftDotNetBuildTasksTemplatingVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksTemplatingVersion>
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>8.0.0-beta.22480.2</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftDotNetRemoteExecutorVersion>8.0.0-beta.22480.2</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetVersionToolsTasksVersion>8.0.0-beta.22480.2</MicrosoftDotNetVersionToolsTasksVersion>
<MicrosoftDotNetPackageTestingVersion>8.0.0-beta.22480.2</MicrosoftDotNetPackageTestingVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions eng/illink.targets
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<IsTrimmable Condition="'$(IsTrimmable)' == ''">true</IsTrimmable>
<PrepareResourcesDependsOn>_EmbedILLinkXmls;$(PrepareResourcesDependsOn)</PrepareResourcesDependsOn>
<TargetsTriggeredByCompilation Condition="'$(DesignTimeBuild)' != 'true'">$(TargetsTriggeredByCompilation);ILLinkTrimAssembly</TargetsTriggeredByCompilation>
<!-- ApiCompat should perform compatibility checks on the trimmed assemblies. -->
<ApiCompatDependsOn>$(ApiCompatDependsOn);ILLinkTrimAssembly</ApiCompatDependsOn>
<!-- ApiCompat's assembly validation should use the trimmed assemblies as an input, so we make sure that ILLink runs first. -->
<ApiCompatValidateAssembliesDependsOn Condition="'$(IsCrossTargetingBuild)' != 'true'">$(ApiCompatValidateAssembliesDependsOn);ILLinkTrimAssembly</ApiCompatValidateAssembliesDependsOn>
</PropertyGroup>

<!-- Flow the IsTrimmable property down to consuming projects, in order for oob.proj
Expand Down
7 changes: 4 additions & 3 deletions eng/resolveContract.props
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
<Project>
<!-- ApiCompat setting -->
<PropertyGroup>
<RunApiCompatForSrc>$([MSBuild]::ValueOrDefault('$(IsSourceProject)', 'false'))</RunApiCompatForSrc>
<RunMatchingRefApiCompat>$([MSBuild]::ValueOrDefault('$(IsSourceProject)', 'false'))</RunMatchingRefApiCompat>
<ApiCompatEnforceOptionalRules>true</ApiCompatEnforceOptionalRules>
<ApiCompatValidateAssemblies Condition="'$(IsSourceProject)' == 'true'">true</ApiCompatValidateAssemblies>
<!-- Optional rules -->
<ApiCompatEnableRuleAttributesMustMatch>true</ApiCompatEnableRuleAttributesMustMatch>
<ApiCompatEnableRuleCannotChangeParameterName>true</ApiCompatEnableRuleCannotChangeParameterName>
</PropertyGroup>

<ItemGroup>
Expand Down
43 changes: 33 additions & 10 deletions eng/resolveContract.targets
Original file line number Diff line number Diff line change
@@ -1,29 +1,52 @@
<Project>
<PropertyGroup>
<!-- Use implementation referencepath if no contract dependency path is set.
This item transform is executed at the time this property is evaluated in the API Compat targets. -->
<ContractDependencyPaths Condition="'$(ContractDependencyPaths)' == ''">@(ReferencePath->'%(RelativeDir)'->Distinct())</ContractDependencyPaths>
<!-- Fall back to the targeting pack dir for NetCoreAppCurrent to avoid passing through dependencies from ref to src. -->
<ContractDependencyPaths Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', '$(NetCoreAppCurrent)'))">$(ContractDependencyPaths);$(MicrosoftNetCoreAppRefPackRefDir)</ContractDependencyPaths>
</PropertyGroup>
<ApiCompatContractItemName>ResolvedMatchingContract</ApiCompatContractItemName>
<ApiCompatStrictMode Condition="'$(ApiCompatStrictMode)' == ''">true</ApiCompatStrictMode>
<_ApiCompatCaptureGroupPattern>.+%5C$([System.IO.Path]::DirectorySeparatorChar)(.+)%5C$([System.IO.Path]::DirectorySeparatorChar)(.+)</_ApiCompatCaptureGroupPattern>
<_ApiCompatRuntimePrefixPattern>(.+)/(net%5Cd.%5Cd)-(.+)/(.+)</_ApiCompatRuntimePrefixPattern>
<_ApiCompatLibReplacementString>lib/$1/$2</_ApiCompatLibReplacementString>
<!-- CoreLib source projects have different output paths. -->
<_ApiCompatLibReplacementString Condition="'$(MSBuildProjectName)' == 'System.Private.CoreLib'">lib/$(NetCoreAppCurrent)/$2</_ApiCompatLibReplacementString>

<PropertyGroup>
<GenAPIExcludeAttributesList>$(RepositoryEngineeringDir)DefaultGenApiDocIds.txt</GenAPIExcludeAttributesList>
<GenAPIHeaderFile>$(RepositoryEngineeringDir)LicenseHeader.txt</GenAPIHeaderFile>
<GenAPITargetPath>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', '..', 'ref', '$(AssemblyName).cs'))</GenAPITargetPath>
<GenAPILangVersion Condition="'$(LangVersion)' != ''">$(LangVersion)</GenAPILangVersion>
<ProjectForGenAPIDocIdGeneration Condition="'$(IsSourceProject)' == 'true' and '$(ProjectForGenAPIDocIdGeneration)' == ''">$(CoreLibProject)</ProjectForGenAPIDocIdGeneration>
</PropertyGroup>

<ItemGroup>
<!-- Transform the API Compat assemblies passed in to log-able strings. -->
<ApiCompatLeftAssembliesTransformationPattern Include="$(_ApiCompatCaptureGroupPattern)" ReplacementString="ref/$1/$2" />
<ApiCompatLeftAssembliesTransformationPattern Include="$(_ApiCompatRuntimePrefixPattern)" ReplacementString="runtimes/$3/$1/$2/$4" />
<ApiCompatLeftAssembliesTransformationPattern Include="runtimes/windows/" ReplacementString="runtimes/win/" />

<ApiCompatRightAssembliesTransformationPattern Include="$(_ApiCompatCaptureGroupPattern)" ReplacementString="$(_ApiCompatLibReplacementString)" />
<ApiCompatRightAssembliesTransformationPattern Include="$(_ApiCompatRuntimePrefixPattern)" ReplacementString="runtimes/$3/$1/$2/$4" />
<ApiCompatRightAssembliesTransformationPattern Include="runtimes/windows/" ReplacementString="runtimes/win/" />

<!-- Fall back to the targeting pack dir for NetCoreAppCurrent to avoid passing through dependencies from ref to src. -->
<ApiCompatContractAssemblyReferences Include="$(MicrosoftNetCoreAppRefPackRefDir)"
Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', '$(NetCoreAppCurrent)'))" />
</ItemGroup>

<PropertyGroup Condition="'$(IsSourceProject)' == 'true'">
<ContractProject Condition="'$(ContractProject)' == ''">$(LibrariesProjectRoot)$(MSBuildProjectName)\ref\$(MSBuildProjectName).csproj</ContractProject>
<HasMatchingContract Condition="'$(HasMatchingContract)' == '' and Exists('$(ContractProject)')">true</HasMatchingContract>
</PropertyGroup>

<PropertyGroup Condition="'$(IsSourceProject)' == 'true' and '$(IsCrossTargetingBuild)' != 'true'">
<!-- Disable API compat if the project doesn't have reference assembly -->
<RunApiCompat Condition="'$(HasMatchingContract)' != 'true'">false</RunApiCompat>
<ApiCompatValidateAssemblies Condition="'$(HasMatchingContract)' != 'true'">false</ApiCompatValidateAssemblies>
<!-- TODO: Move into Microsoft.DotNet.GenFacadesNotSupported.targets. -->
<!-- Not supported sources are created from the ref assembly, we currently don't produce finalizers in dummy assemblies, so we disable ApiCompat to not fail. -->
<ApiCompatValidateAssemblies Condition="'$(GeneratePlatformNotSupportedAssemblyMessage)' != ''">false</ApiCompatValidateAssemblies>
</PropertyGroup>

<ItemGroup Condition="'$(IsSourceProject)' == 'true' or '$(IsReferenceAssemblyProject)' == 'true' or '$(IsPartialFacadeAssembly)' == 'true'">
<PackageReference Include="Microsoft.DotNet.ApiCompat" Condition="'$(DotNetBuildFromSource)' != 'true'" Version="$(MicrosoftDotNetApiCompatVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
<!-- Use the apicompat task package instead of the in-built SDK functionality to consume newer features. -->
<ItemGroup Condition="'$(EnablePackageValidation)' == 'true' or
'$(ApiCompatValidateAssemblies)' == 'true'">
<PackageReference Include="Microsoft.DotNet.ApiCompat.Task" Version="$(MicrosoftDotNetApiCompatTaskVersion)" PrivateAssets="all" IsImplicitlyDefined="true" />
</ItemGroup>

<ItemGroup Condition="'$(HasMatchingContract)' == 'true' and '$(ContractProject)' != '' and '@(ResolvedMatchingContract)' == ''">
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project>
<Import Project="..\..\Directory.Build.targets" />

<ItemGroup>
<ItemGroup Condition="'$(UsingMicrosoftNoTargetsSdk)' != 'true'">
<_DebugSymbolToMove Include="@(DebugSymbolsProjectOutputGroupOutput->Metadata('FinalOutputPath'))"
FolderName="$([System.IO.Directory]::GetParent('%(Identity)').Name)" />
<_DebugSymbolToMoveToExclude Include="@(_DebugSymbolToMove->WithMetadataValue('FolderName', 'aotsdk'))" />
Expand Down
33 changes: 33 additions & 0 deletions src/coreclr/System.Private.CoreLib/CompatibilitySuppressions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:Internal.Console</Target>
<Left>ref/net7.0/System.Private.CoreLib.dll</Left>
<Right>lib/net7.0/System.Private.CoreLib.dll</Right>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:System.Runtime.CompilerServices.ICastable</Target>
<Left>ref/net7.0/System.Private.CoreLib.dll</Left>
<Right>lib/net7.0/System.Private.CoreLib.dll</Right>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>F:System.Resources.ResourceManager.BaseNameField</Target>
<Left>ref/net7.0/System.Private.CoreLib.dll</Left>
<Right>lib/net7.0/System.Private.CoreLib.dll</Right>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>F:System.Resources.ResourceSet.Reader</Target>
<Left>ref/net7.0/System.Private.CoreLib.dll</Left>
<Right>lib/net7.0/System.Private.CoreLib.dll</Right>
</Suppression>
<Suppression>
<DiagnosticId>CP0014</DiagnosticId>
<Target>M:System.Runtime.InteropServices.Marshal.CreateWrapperOfType(System.Object,System.Type)-&gt;object?:[T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute]</Target>
<Left>ref/net7.0/System.Private.CoreLib.dll</Left>
<Right>lib/net7.0/System.Private.CoreLib.dll</Right>
</Suppression>
</Suppressions>

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,6 @@
<!-- Import refererence assembly and ApiCompat logic -->
<PropertyGroup>
<IsSourceProject>true</IsSourceProject>
<ApiCompatValidateBaseline>true</ApiCompatValidateBaseline>
</PropertyGroup>
<Import Project="$(RepositoryEngineeringDir)resolveContract.props" />
<Import Project="$(RepositoryEngineeringDir)resolveContract.targets" />
Expand Down
Loading