-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Dependencies Scanner: report compiled Swift module paths if they are available #32633
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
Dependencies Scanner: report compiled Swift module paths if they are available #32633
Conversation
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
d924da8
to
99a2ebe
Compare
@swift-ci please smoke test |
…e dependencies scanner's invocation, NFC"
99a2ebe
to
1b926de
Compare
…available For the explicit module mode, swift-driver uses -compile-module-from-interface to generate modules from interfaces found by the dependency scanner. However, we don't need to build the binary module if up-to-date modules are available, either adjacent to the interface file or in the prebuilt module cache directory. This patch teaches dependencies scanner to report these ready-to-use binary modules.
1b926de
to
84dd4db
Compare
@swift-ci please smoke test |
@swift-ci please test |
1 similar comment
@swift-ci please test |
Build failed |
Build failed |
I'd like to talk about this approach a bit more. My mental model is that the fast dependency scanner should not make any decisions about what is up-to-date and what isn't. Rather, it should model all of the relationships that can exist between the various sources and compiled products, and let the build system decide what is "up-to-date". |
@DougGregor , @artemcm and I were having a discussion about this and I'm now convinced that reporting only the ready-to-use binary modules is omitting information build systems can later reuse. I'll land additional commits to: (1) reporting candidate ready-to-use binary modules for a Swift interface from the dependency scanner, (2) |
For the explicit module mode, swift-driver uses -compile-module-from-interface to
generate modules from interfaces found by the dependency scanner. However, we don't
need to build the binary module if up-to-date modules are available, either adjacent
to the interface file or in the prebuilt module cache directory. This patch teaches
dependencies scanner to report these ready-to-use binary modules.