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

Check in shim typeforwards and remove the dependency on the underlying targeting packs #79147

Merged
merged 6 commits into from
Mar 28, 2023

Commits on Mar 27, 2023

  1. Make .NET Framework and .NET Standard facade changes trackable

    Fixes dotnet#65997
    
    GenFacade is a tool that inspects a contract assembly's public API surface safe area, compares it with a passed in assembly closure and emits a C# source file with type forwards in it so that the satisfied API can be forwarded from the contract to the "implementation". GenFacades is used to construct the .NETFramework and the .NETStandard shim assemblies which live under src/libraries/shims/.
    
    The generated source file isn't checked into the tree, it's placed into the project's intermediate output path. IMO it would help if we check these files into the tree so that any changes that impact shims - intentional or unintentional - are trackable. As an example, I just recently refactored how the shims are structured under src/libraries/shims and unintentionally removed a type forward from an assembly. I only noticed this regression by pure luck later.
    
    The priority of this issue just rose because source build plans to remove their .NET Framework reference assembly packages during the .NET 8 release. That means that we can't automatically generate the type forwards during source-build. I will work on removing the dependency and check the type forwards in instead.
    ViktorHofer committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    c9d95df View commit details
    Browse the repository at this point in the history
  2. Make shim projects declare the dependencies explicitly

    Also remove the System.Xml special runtime project which isn't necessary
    anymore as the compiler now allows type forwards to Obsolete types with
    error=true.
    ViktorHofer committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    b844ddc View commit details
    Browse the repository at this point in the history
  3. System.Core build fix

    ViktorHofer committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    cf1d92f View commit details
    Browse the repository at this point in the history
  4. Remove unused file

    ViktorHofer committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    2f5d410 View commit details
    Browse the repository at this point in the history
  5. Revert "Remove unused file"

    This reverts commit 2f5d410.
    ViktorHofer committed Mar 27, 2023
    Configuration menu
    Copy the full SHA
    baf02aa View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5ec7527 View commit details
    Browse the repository at this point in the history