dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.42k stars 4.75k forks source link

Projection tooling for Swift interop in .NET 10 #95633

Open kotlarmilos opened 11 months ago

kotlarmilos commented 11 months ago

Overview

This issue tracks the progress of implementing and shipping the projection tooling for .NET 10. The primary goal is to release the projection tooling as an experimental NuGet CLI capable of generating bindings for a specific set of Swift APIs, as defined in the use cases. It should follow general principles outlined in the Swift interop proposal.

Currently, the projection tooling is available as an experimental NuGet CLI in dotnet-experimental feed.

Tasks:

[!NOTE]
The projection tooling will be experimental in .NET 10.

ghost commented 11 months ago

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

Issue Details
# Description This issue tracks the work for adapting the existing [Binding Tools for Swift](https://github.com/xamarin/binding-tools-for-swift) and shipping it as a product in .NET 9. The projection tooling consists of three main areas: Importing Swift into .NET, Exporting .NET to Swift, and distribution. Below is a list of tasks that needs to be implemented. Please note that the breakdown of the issues does not impose hard deadlines. If some of the functionality does not get upstreamed for a particular preview version, this issue will be updated accordingly. ## Tasks ### .NET9 Preview 1 - [ ] Update documentation to specify tool's layout - [ ] Update documentation to specify type representations - [ ] Create a NuGet package for the BTfS - [ ] Ensure that the NuGet package is shipped for supported platforms such as OSX and Apple mobile ### .NET9 Preview 2 - [ ] Adapt the tool to work with the new runtime support - [ ] Add Roslyn source generators to generate Swift metadata for selected assemblies ### .NET9 Preview 3 TBD
Author: kotlarmilos
Assignees: kotlarmilos, stephen-hawley
Labels: `area-Meta`, `User Story`
Milestone: 9.0.0
stephen-hawley commented 11 months ago

Might want to include "Update BTfS to run on .NET 7 and later" - I'm in the middle of that right now.