Skip to content

Define Mono runtime components build tooling for the workloads #54417

Closed

Description

@lambdageek

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.

Activity

  1. added this to the 6.0.0 milestone on Jun 18, 2021
  2. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Jun 18, 2021
  3. removed
    untriagedNew issue has not been triaged by the area owner
    on Jun 18, 2021
  4. changed the title [-]Define Mono runtime components built tooling for the workloads[/-] [+]Define Mono runtime components build tooling for the workloads[/+] on Jun 18, 2021
  5. lambdageek commented on Aug 10, 2021

    @lambdageek
    MemberAuthor

    This was completed in #54432. Contributing to #50862

  6. ghost locked as resolved and limited conversation to collaborators on Sep 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions