-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Dependency Scanner] Refactor ModuleDependencies to represent binary-only Swift modules explicitly #34244
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
[Dependency Scanner] Refactor ModuleDependencies to represent binary-only Swift modules explicitly #34244
Conversation
@swift-ci please smoke test |
@swift-ci please smoke test Linux platform |
@swift-ci please smoke test Windows platform |
Restarting doomed Linux tests. @swift-ci please smoke test Linux platform |
@swift-ci please smoke test Windows platform |
2 similar comments
@swift-ci please smoke test Windows platform |
@swift-ci please smoke test Windows platform |
…only Swift modules explicitly This matches the behavior of the current client (`swift-driver`) and reduces ambiguity in how the nodes in the graph are to be treated. Swift dependencies with a textual interface, for example, must be built into a binary module by clients. Swift dependencies without a textual interface, with only a binary module, are to be used directly, without any up-to-date checks. Note, this is distinct from Swift dependencies that have a textual interface, for which we also detect potential pre-build binary module candidates. Those are still reported in the `details` field of textual Swift dependencies as `prebuiltModuleCandidates`.
f47b803
to
f9d6c6a
Compare
@swift-ci please smoke test |
@swift-ci please smoke test Windows platform |
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.
Nice clean-up!
@swift-ci please smoke test Windows platform |
This matches the expectation of the client (
swift-driver
) and reduces ambiguity in how the nodes in the graph are to be treated. Swift dependencies with a textual interface, for example, must be built into a binary module by clients. Swift dependencies without a textual interface, with only a binary module, are to be used directly, without any up-to-date checks.Note, this is distinct from Swift dependencies that have a textual interface, for which we also detect potential pre-built binary module candidates. Those are still reported in the
details
field of textual Swift dependencies asprebuiltModuleCandidates
.swift-driver's matching refactoring: swiftlang/swift-driver#287
As a side-effect of this refactoring, this PR also resolves rdar://70103935