-
Notifications
You must be signed in to change notification settings - Fork 21
feat: add support for Swift 5.10 #3
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
base: master
Are you sure you want to change the base?
Conversation
Thanks @mackoj ! I'm curious about the whitespace changes. Was stuff out of alignment? I'll probably add something to format the code after I merge this. |
The white space might be due to the setting of my Xcode configuration because I use two space sorry. |
What is the status of this PR? It would really help me in my project |
Sorry @Hugo-Persson I did forget about this. |
Heya everyone; I looked into merging this again today. There's some issues w/ the PR besides the spaces; in that it moves the tooling all the way up to Swift 5.10 and ends up breaking the backward compatibility setup that's in the package. I managed to get that fixed, but the divergence/duplication between Basics in SwiftPM and TSCBasic in swift-tools-support-core is pretty gnarly. I'm gonna take a look at how best to address some of this stuff, not quite sure just yet. |
I've been able to use this against a Swift 6 codebase and in XCode 16, so far without issue. Are there any gotchas we should look out for? |
@kaeawc did you do any modifications to this PR in order to run it on Swift 6? It's working only in 5.10 mode for me |
@SubvertDev my mistake for being new to the whole XCFramework bundling - I was mistaken and didn't realize the lack of Swift 5.10 support meant the publisher, not the consumer. |
@kaeawc gotcha, no problem! |
The main issue is that SwiftPM depends on TSCBasic but declares types that are the same as those in TSCBasic, like AbsolutePath, which creates conflicts.
The fix is to add a converter file that contain helpers for the type conversion.
This PR is a prototype.