-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[swift-stdlib-tool] Add support for back deployed concurrency #39996
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
[swift-stdlib-tool] Add support for back deployed concurrency #39996
Conversation
This tool was mostly already compatible with copying `libswift_Concurrency.dylib` based on whether or not the executables it was scanning linked it. The only thing missing was that it can now end up copying from different source directories, the older `swift-5.0` directory, and the new `swift-5.5` directory. This change allows users to pass `--source-libraries` multiple times (or picks a default with both) in order to have it scan both directories for any libraries the app links. The biggest part of this change is instead of storing just the library name throughout this logic we now store the actual discovered path, so that we don't have to loop through all potential source directories each time we need to find the library, only the first time.
Unlike Xcode's internal implementation of this I didn't put this behind another flag (depending on if folks are using the default |
FYI @DougGregor @allevato |
@swift-ci please test |
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.
Thanks for looking into this, Keith!
@swift-ci please smoke test |
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.
This all looks good to me.
thanks! once this lands I'll submit a cherry pick for 5.5 |
⛵ |
Thanks all! |
This tool was mostly already compatible with copying
libswift_Concurrency.dylib
based on whether or not the executables itwas scanning linked it. The only thing missing was that it can now end
up copying from different source directories, the older
swift-5.0
directory, and the new
swift-5.5
directory.This change allows users to pass
--source-libraries
multiple times(or picks a default with both) in order to have it scan both directories
for any libraries the app links. The biggest part of this change is
instead of storing just the library name throughout this logic we now
store the actual discovered path, so that we don't have to loop through
all potential source directories each time we need to find the library,
only the first time.
https://forums.swift.org/t/swift-concurrency-back-deployment/51908/36