You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Define Mono runtime components build tooling for the workloads #54417
We want to define some properties and a build task to help workloads understand the contents of the runtime pack.
What we need:
Runtime pack includes a well-known MSBuild Item that defines the names of all the components in the runtime pack.
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:
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.
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.
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
Activity
lambdageek commentedon Jun 18, 2021
For example the current Android WIP is https://github.com/xamarin/xamarin-android/pull/6022/files#diff-ae990f1a2052dc51966ff8bd3f1de810710e0d29972845a834f4a6f6bb039c22R171-R174
[-]Define Mono runtime components built tooling for the workloads[/-][+]Define Mono runtime components build tooling for the workloads[/+]lambdageek commentedon Aug 10, 2021
This was completed in #54432. Contributing to #50862