-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Discussion about Swift Package Manager and Carthage #969
Comments
Swift Package Manager looks like it's still in its early stages, but… I expect there to still be a place for Carthage. The Swift Package Manager is focused on sharing Swift code (naturally). Carthage focuses on sharing dynamic frameworks, which may contain Swift code, but are a superset of Swift packages:
We'll need to monitor this going forward, but I'd expect many Swift packages to also be available as frameworks. Otherwise SPM and Carthage may need to sit side-by-side or Carthage may want to add support for Swift packages. |
Adding to @mdiep's response: it's clear that Swift's Package Manager will replace Carthage for some tasks, but |
Has there come up anything new in the last 9 months, now that the first version of Swift Package Manager is officially released? |
Nothing has changed in this respect though. My last comment still applies 100%, as we still have no word of Xcode integration. |
Is there any development in this regard, especially now that you can generate Xcode projects for SPM projects using |
If you wanted to you could pretty easily generate a Carthage compatible project file from swiftpm now. Using:
Where foo.xcconfig can be anything you want to be set in the project. I've set this up for a project already and it seems to be working pretty well. |
We hope to do something like that eventually. But I've been told that Carthage probably shouldn't rely on that functionality. You can get it to work, but it doesn't have the required level of support to ship that functionality with Carthage. |
Yep, @keith, that does work like a charm. I've set this up to work with https://github.com/SwiftOnEdge/Edge, which even has Swift Package Manager dependencies. The xcodeproj included there was generated by the SwiftPM, and then I added an external build system as a dependency so that Carthage will run a swift build before building the main target.* *The Devil is in the details regarding SwiftPM package versions though. |
Closing this due to inactivity. |
I just wanted to start a discussion around Swift Package Manager and what that means for Carthage.
Any thoughts?
The text was updated successfully, but these errors were encountered: