Skip to content

[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

Merged
merged 1 commit into from
Oct 13, 2020

Conversation

artemcm
Copy link
Contributor

@artemcm artemcm commented Oct 9, 2020

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 as prebuiltModuleCandidates.

swift-driver's matching refactoring: swiftlang/swift-driver#287

As a side-effect of this refactoring, this PR also resolves rdar://70103935

@artemcm artemcm requested review from DougGregor and nkcsgexi October 9, 2020 00:07
@artemcm
Copy link
Contributor Author

artemcm commented Oct 9, 2020

@swift-ci please smoke test

@artemcm
Copy link
Contributor Author

artemcm commented Oct 9, 2020

@swift-ci please smoke test Linux platform

@artemcm
Copy link
Contributor Author

artemcm commented Oct 9, 2020

@swift-ci please smoke test Windows platform

@beccadax
Copy link
Contributor

beccadax commented Oct 9, 2020

Restarting doomed Linux tests.

@swift-ci please smoke test Linux platform

@artemcm
Copy link
Contributor Author

artemcm commented Oct 9, 2020

@swift-ci please smoke test Windows platform

2 similar comments
@artemcm
Copy link
Contributor Author

artemcm commented Oct 9, 2020

@swift-ci please smoke test Windows platform

@artemcm
Copy link
Contributor Author

artemcm commented Oct 12, 2020

@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`.
@artemcm artemcm force-pushed the RefactorScannerBinaryDependencies branch from f47b803 to f9d6c6a Compare October 12, 2020 16:56
@artemcm
Copy link
Contributor Author

artemcm commented Oct 12, 2020

@swift-ci please smoke test

@artemcm
Copy link
Contributor Author

artemcm commented Oct 12, 2020

@swift-ci please smoke test Windows platform

Copy link
Contributor

@nkcsgexi nkcsgexi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice clean-up!

@artemcm
Copy link
Contributor Author

artemcm commented Oct 12, 2020

@swift-ci please smoke test Windows platform

@artemcm artemcm merged commit 3221734 into swiftlang:main Oct 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants