-
Notifications
You must be signed in to change notification settings - Fork 32
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
feat: Support for SwiftSettings: swiftLanguageMode, enableUpcomingFeature, enableExperimentalFeature #1423
base: main
Are you sure you want to change the base?
Conversation
bbddd36
to
9df2645
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, looks good. I left a few comments that we will need to address before we can merge.
@cgrindel Okay, I believe I've addressed all of your feedback. |
@AttilaTheFun Based upon this website, it looks like we need Xcode 16.0 or higher for Swift 6. Do you agree? |
@cgrindel yeah on macOS the swift version is tied to the Xcode version. Swift 6 released with Xcode 16, so we'll need to update the CI machines to build with Xcode 16. On Ubuntu you can just install the desired swift version directly. |
I'm trying to use some of the new GRPC and Protobuf package versions and some of them have adopted upcoming and experimental features as well as the Swift 6 language mode. These SwiftSettings are ignored in the current master. This PR adds support for these features to the repository rule.
Test Plan
SwiftProtobuf uses the experimental StrictConcurrency feature and the upcoming ExistentialAny feature, so it was a good test case for this feature. This is the generated BUILD file with this branch in the swift_protobuf example.