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

Use shipping runtime.json for RID targeting #80074

Merged
merged 2 commits into from
Jan 2, 2023

Conversation

ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Dec 30, 2022

Fixes #32451
Depends on dotnet/arcade#12041

  • Use the shipping runtime.json file to target RIDs when building instead of the custom OSGroups.json which only contained a subset of the available rids.
  • To facilitate that, lower-case the existing platforms in the target frameworks strings which is the expected format anyway by the SDK and msbuild. This will eventually make it possible to bring some of the custom build infrastructure back into the SDK.
  • Remove a few outdated code pieces and update docs.

@ghost
Copy link

ghost commented Dec 30, 2022

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Contributes to #32451
Depends on dotnet/arcade#12041

  • Use the shipping runtime.json file to target RIDs when building instead of the custom OSGroups.json which only contained a subset of the available rids.
  • To facilitate that, lower-case the existing platforms in the target frameworks strings which is the expected format anyway by the SDK and msbuild. This will eventually make it possible to bring some of the custom build infrastructure back into the SDK.
  • Remove a few outdated code pieces and update docs.
Author: ViktorHofer
Assignees: ViktorHofer
Labels:

area-Infrastructure-libraries

Milestone: -

- Use the shipping runtime.json file to target RIDs when building
  instead of the custom OSGroups.json which only contained a subset of
  the available rids.
- To facilitate that, lower-case the existing platforms in the target
  frameworks strings which is the expected format anyway by the SDK and
  msbuild. This will eventually make it possible to bring some of the
  custom build infrastructure back into the SDK.
- Remove a few outdated code pieces and update docs.
Copy link
Member

@pavelsavara pavelsavara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would this change propagate into some of the runtime packs or SDK ?

@ViktorHofer
Copy link
Member Author

ViktorHofer commented Jan 2, 2023

would this change propagate into some of the runtime packs or SDK ?

This change shouldn't impact the produced assembly in any way. The metadata that is embedded into the assembly is just the target framework without the platform and the SupportedOSPlatform which we set independently.

@ViktorHofer ViktorHofer merged commit 212fb54 into dotnet:main Jan 2, 2023
@ViktorHofer ViktorHofer deleted the TfmUpdate branch January 2, 2023 20:42
@ViktorHofer ViktorHofer mentioned this pull request Jan 4, 2023
ViktorHofer added a commit that referenced this pull request Jan 11, 2023
Follow-up on #32451
Follow-up on #80074

In #43651, the "Windows" OS name was lowercased to achieve target frameworks with RIDs in them. At that time, the original plan was to lowercase all TargetOS values but that had to be cut because of resources. This PR finishes that and updates build systems, YML, markdowns and managed components.

To not break existing developer workflows, the passed-in -os value is automatically lower-cased in the script entry points and validated in the msbuild entry point.
@ghost ghost locked as resolved and limited conversation to collaborators Feb 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use RID-layout for OS configurations in libraries
2 participants