[Dependency Scanner] Refactor ModuleDependencies to represent binary-only Swift modules explicitly #34244
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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