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

[SR-15602] SwiftPM support for NuGet #4369

Open
stevapple opened this issue Dec 15, 2021 · 2 comments
Open

[SR-15602] SwiftPM support for NuGet #4369

stevapple opened this issue Dec 15, 2021 · 2 comments

Comments

@stevapple
Copy link
Contributor

@stevapple stevapple commented Dec 15, 2021

Previous ID SR-15602
Radar None
Original Reporter @stevapple
Type New Feature
Additional Detail from JIRA
Votes 0
Component/s Package Manager
Labels New Feature, Windows
Assignee None
Priority Medium

md5: c02fcaafd9a2e0f0c906dded91d9cf82

Issue Description:

Explore ways of supporting NuGet packages in SwiftPM. NuGet is a popular tool Windows developers use for importing dependencies (also heavily used by Microsoft).
It would be a huge improvement if SwiftPM gains built-in support for importing NuGet packages.

@stevapple
Copy link
Contributor Author

@stevapple stevapple commented Dec 15, 2021

What to do:

  • Correctly map a NuGet package to a valid Clang module;

  • Find the correct lib for the target platform, set the linker flag;

  • Locate the corresponding {{DLL}}s, and copy them at build time.

@stevapple
Copy link
Contributor Author

@stevapple stevapple commented Dec 15, 2021

Future directions:

  • Add static func nuget(id:_:) -> Package.Dependency to PackageDescription;

  • Operate on NuGet CLI to pull the dependency at build time;

  • Ship NuGet CLI with the (Windows) toolchain.

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@shahmishal shahmishal transferred this issue from apple/swift May 4, 2022
compnerd added a commit to compnerd/swift-package-manager that referenced this issue May 10, 2022
Introduce the `nuget` package provider, which is the only option on
Windows, but is portable to other systems as well. This is required
for enabling the test suite on Windows.

Refs: apple#4369
tomerd pushed a commit that referenced this issue May 11, 2022
Introduce the `nuget` package provider, which is the only option on
Windows, but is portable to other systems as well. This is required
for enabling the test suite on Windows.

Refs: #4369
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants