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

Define Mono runtime components build tooling for the workloads #54417

Closed
lambdageek opened this issue Jun 18, 2021 · 2 comments
Closed

Define Mono runtime components build tooling for the workloads #54417

lambdageek opened this issue Jun 18, 2021 · 2 comments
Milestone

Comments

@lambdageek
Copy link
Member

lambdageek commented Jun 18, 2021

We want to define some properties and a build task to help workloads understand the contents of the runtime pack.

What we need:

  1. Runtime pack includes a well-known MSBuild Item that defines the names of all the components in the runtime pack.
  2. Runtime pack includes a target that takes as an input an Item list of the "selected" components and produces an Item list of the filenames that should be linked:
    • for dynamic components - the list of shared libraries
    • for static components - the list of static component libs and the component stubs for the non-"selected"/"active" components.
    • the item list should include the other shared or static libs from the native folder, too, not just the components.

The key logic is in two(*) files:

  • component-manifest.props - defines the available components
  • component-manifest.targets - defines the task to choose the selected components

(*): The complication is that component-manifest.props is actually a collection of files - one per RID.


Packaging:

  1. Each component-manifest.props will include the host RID in the metadata. So we can make multiple (one per RID) shared framework SDK packs and the workload manifest can include all their Sdk.props without conflict.
  2. Make a new nuget that just has the component-manifest.targets in it that has the single target that is RID-independent. The workload will include the Sdk.targets from this nuget. The target will pick from the components for the current target only.
@lambdageek lambdageek added this to the 6.0.0 milestone Jun 18, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jun 18, 2021
@lambdageek lambdageek mentioned this issue Jun 18, 2021
17 tasks
@lambdageek lambdageek removed the untriaged New issue has not been triaged by the area owner label Jun 18, 2021
@lambdageek
Copy link
Member Author

@lambdageek lambdageek changed the title Define Mono runtime components built tooling for the workloads Define Mono runtime components build tooling for the workloads Jun 18, 2021
@lambdageek
Copy link
Member Author

This was completed in #54432. Contributing to #50862

@ghost ghost locked as resolved and limited conversation to collaborators Sep 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant