Swift 5.2 migration by olejnjak · Pull Request #2972 · Carthage/Carthage · GitHub
Skip to content

Swift 5.2 migration - #2972

Open
olejnjak wants to merge 9 commits into
Carthage:masterfrom
olejnjak:swift5
Open

olejnjak wants to merge 9 commits into
Carthage:masterfrom
olejnjak:swift5

Conversation

@olejnjak

@olejnjak olejnjak commented Apr 14, 2020 •

Copy link
Copy Markdown
Contributor

This PR demonstrates what changes would be necessary (or useful) to migrate Carthage to use Swift 5.2. TL;DR not much, just removing custom Result dependency would be fine. And for further development it would be very useful as in Swift 5 custom Result can be easily mistaken with the built-in type.

Is there any reason that Carthage still uses old Swift version and old Xcode? Requiring ancient ReactiveSwift just makes development of tools, that would like to use CarthageKit, difficult.

@elliottwilliams

Copy link
Copy Markdown
Contributor

@thedavidharris

Copy link
Copy Markdown

The deadline for submitting this with the iOS 13 SDK is June 30th (see https://developer.apple.com/news/?id=03262020b), so I think that would make supporting Xcode 10.x unnecessary? That would be a better barometer to shift things.

@jdhealy

jdhealy commented Apr 21, 2020

Copy link
Copy Markdown
Member

I imagine for people migrating (as it’s a process) untouched-for-periods-of-time apps that don‘t ’just compile‘ under Xcode 11.X — having Carthage available on the still-using-older-tools portion of that path would be important.

That said, there’s probably a middle ground to be had… in a number of ways. ✨ One great contribution — if someone were willing to explore it — would be examining a solid way for High-Sierra–based Homebrew-consuming Carthage users to be informed via Homebrew formula methods of ways to install Carthage (maybe older Carthage versions) outside the Homebrew ways.

@thedavidharris

Copy link
Copy Markdown

@jdhealy Agreed, but given Carthage uploads binaries as part of releases I think it would be fair to expect them to manually install a working version and have the info appropriately available.

https://github.com/Homebrew/homebrew-core/blob/master/Formula/carthage.rb just calls prefix_install so you could put some OS check in there and direct a STDOUT link to the last compatible version, if that's acceptable. Would need a roadmap/timing for when the last High Sierra supported release is though to merge it at the appropriate time.

@eliperkins

Copy link
Copy Markdown
Contributor

@olejnjak

Copy link
Copy Markdown
Contributor Author

Yep, I already removed my fork of Tentacle and will update this PR 🙂

@jdhealy

jdhealy commented Apr 23, 2020 •

Copy link
Copy Markdown
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants