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

Swift projection tooling #95633

Open
12 of 23 tasks
Tracked by #95638
kotlarmilos opened this issue Dec 5, 2023 · 2 comments
Open
12 of 23 tasks
Tracked by #95638

Swift projection tooling #95633

kotlarmilos opened this issue Dec 5, 2023 · 2 comments
Assignees
Labels
area-Meta tracking This issue is tracking the completion of other related issues. User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@kotlarmilos
Copy link
Member

kotlarmilos commented Dec 5, 2023

Description

This issue tracks the progress of implementing and shipping the projection tooling in .NET 9. The primary objective is to create a tooling capable of generating bindings for a set of features confirmed by the design document. We will divide the development process into stages to facilitate faster iterations:

  • Alpha version: The tool is available in a public repository and can be manually downloaded from a NuGet feed. Then, it can be run manually by a user to generate bindings for provided Swift library.
  • Beta version: The tool is available for internal use. The idea is to integrate it into the dotnet/runtime repository and utilize it for surfacing CryptoKit APIs. Additionally, it should have publishing infrastructure and be shipped using Darc.
  • Release version: The tool is available for external use as a part of the Apple workload or as a standalone package.

Update: The experimental package is available in dotnet-experimental feed.

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

@kotlarmilos kotlarmilos added area-Meta User Story A single user-facing feature. Can be grouped under an epic. labels Dec 5, 2023
@kotlarmilos kotlarmilos added this to the 9.0.0 milestone Dec 5, 2023
@ghost
Copy link

ghost commented Dec 5, 2023

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 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

@kotlarmilos kotlarmilos changed the title [Tracking] Binding Tools for Swift integration and distribution in .NET 9 [Tracking] Binding Tools for Swift integration and distribution Dec 5, 2023
@kotlarmilos kotlarmilos changed the title [Tracking] Binding Tools for Swift integration and distribution Binding Tools for Swift integration and distribution Dec 5, 2023
@kotlarmilos kotlarmilos added the tracking This issue is tracking the completion of other related issues. label Dec 5, 2023
@stephen-hawley
Copy link

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

@kotlarmilos kotlarmilos changed the title Binding Tools for Swift integration and distribution Swift projection tooling May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Meta tracking This issue is tracking the completion of other related issues. User Story A single user-facing feature. Can be grouped under an epic.
Projects
None yet
Development

No branches or pull requests

2 participants