-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[6.0][Macro] Get accurate dependency information for macro in explicit module build #75181
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
cachemeifyoucan
merged 3 commits into
swiftlang:release/6.0
from
cachemeifyoucan:eng/PR-macro-deps-swift-6
Jul 17, 2024
Merged
[6.0][Macro] Get accurate dependency information for macro in explicit module build #75181
cachemeifyoucan
merged 3 commits into
swiftlang:release/6.0
from
cachemeifyoucan:eng/PR-macro-deps-swift-6
Jul 17, 2024
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@swift-ci please test |
67c7064
to
c1ea526
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
71999aa
to
19a5974
Compare
@swift-ci please test |
19a5974
to
36f6f06
Compare
@swift-ci please test |
Build an accurate macro dependency for swift caching. Specifically, do not include not used macro plugins into the dependency, which might cause false negatives for cache hits. This also builds the foundation for future improvement when dependency scanning will determine the macro plugin to load and swift-frontend do not need to redo the work. rdar://127116512 (cherry picked from commit 4125e8c)
Fix few issues from previous implementation from explicit module build with macros and accurate macro dependency scanning in swiftlang#73421. First, there is a crash when propagating the macro dependencies. It turns out that the current macro plugin implementation doesn't need the downstream users to know about the plugin search path from the upstream dependencies. Secondly, fix a bug that the swiftinterface that has macro usage won't build because the build command doesn't inherit the plugin search path option. Finally, add JSON output for macro dependencies so it is easier to debug the macro dependencies. rdar://131214106 (cherry picked from commit da10a02)
36f6f06
to
36f98e1
Compare
@swift-ci please test |
Fix a memory leak from swiftlang#75134. (cherry picked from commit ed93685)
36f98e1
to
a845dac
Compare
@swift-ci please test |
nkcsgexi
approved these changes
Jul 17, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Explanation: Add capability for discover accurate macro plugin dependency in the dependency scanner for better swift caching build.
Scope: this fixes some issues for macro plugin lookup in swift EBM or caching build, including building interface files that has macro expansion inside or false cache miss from swift caching build.
Issue: rdar://127116512&131214106
Original PR: #73421 #75082
Reviewer: @artemcm
Risk: Low.
Test Plan: Unit tests