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-8658] Implement SE-0226 Package Manager Target Based Dependency Resolution #4759
Comments
@swift-ci create |
Swift 5.2 has partial implementation of this proposal where SwiftPM is able to skip dependencies that are not exported via any product. |
@neonichu @aciidb0mb3r Any updates on this when to release this support? We are getting a bunch of test target dependencies and they are conflicting with the host app. |
The 5.2 partial implementation should take care of test target dependencies, but only for transitive dependencies, not for root packages. |
@neonichu Thanks for the feedback, i'm not sure if i understood correctly, our Swift version for the packages is 5.7 but when we integrated SDK which depends on testing framework(Quick, Nimble) and the same testing frameworks are linked to main app using SPM, so the conflicts still happens, do you mean this issue is addressed as well in Swift 5.2? |
Do you have an example you could share? AFAIK, this scenario should work, the test-only dependencies of a dependency should not matter at all. |
@neonichu I have attached sample code, when you try to build the app you get following error Failed to resolve dependencies Dependencies could not be resolved because 'mylibrary' depends on 'quick' 5.0.0..<6.0.0 and root depends on 'quick' 7.3.0. |
@neonichu Cool, looks like it's working. But the option you mentioned |
Additional Detail from JIRA
md5: b2a9b01fe8077a3dd6b48f8e8e7ce7ad
Issue Description:
This tracks implementing the SE-0226 Package Manager Target Based Dependency Resolution proposal.
Proposal is here: https://github.com/apple/swift-evolution/blob/master/proposals/0226-package-manager-target-based-dep-resolution.md
This proposal is for enhancing the package resolution process to resolve the minimal set of dependencies that are used in a package graph.
The text was updated successfully, but these errors were encountered: