-
Notifications
You must be signed in to change notification settings - Fork 204
[Explicit Module Builds] Emit a JSON file that specifies details of explicit Swift module dependencies #133
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
Conversation
@swift-ci please test |
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Outdated
Show resolved
Hide resolved
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Outdated
Show resolved
Hide resolved
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Outdated
Show resolved
Hide resolved
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Outdated
Show resolved
Hide resolved
f4eb16b
to
d9a63cc
Compare
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.
Thank you for adopting this so fast!
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Outdated
Show resolved
Hide resolved
self.sourceInfoPath = sourceInfoPath | ||
} | ||
|
||
private enum CodingKeys : String, CodingKey { |
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.
We shouldn't need the CodingKeys
if we use these keys as the field names.
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.
I mostly just wanted to stick to the Swift naming convention (Types start with an uppercase letter, variables start with a lowercase latter), but I don't have a strong preference.
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.
That's fair. How about we change the compiler-side to use keys conforming to the Swift naming convention and remove CodingKeys
?
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.
Yeah, that'd be great!
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.
Here is the change: swiftlang/swift#32507
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.
@nkcsgexi , I've addressed the comments, but the change now has to wait for swiftlang/swift#32507 to be picked up by the next master snapshot toolchain.
2b83afd
to
d0a0da6
Compare
@swift-ci please test |
c4b99b8
to
ade77cd
Compare
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.
Thank you, @artemcm !
c8b256a
to
defa4fc
Compare
@swift-ci test |
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Outdated
Show resolved
Hide resolved
Sources/SwiftDriver/Explicit Module Builds/ExplicitModuleBuildHandler.swift
Show resolved
Hide resolved
defa4fc
to
5cb5a9c
Compare
We haven't had a new snapshot toolchain on swift.org for a few days now, and this change has a dependency on one of Xi's changes that was made after the most recent one one was created. So this will need to wait a little bit until it can be tested in the CI. |
5cb5a9c
to
b817ead
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci test |
@swift-ci please test |
…xplicit Swift module dependencies This PR implements the interface expected by the frontend, as built in: swiftlang/swift#32355 swiftlang/swift#32450 Swift module's explicit Swift module dependencies are now encoded in a JSON file, passed with `-explicit-swift-module-map-file` Resolves rdar://problem/64533451
…/input gathering to match swift
b817ead
to
33480f2
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
This PR implements the interface expected by the frontend, as built by @nkcsgexi in:
swiftlang/swift#32355
swiftlang/swift#32450
Swift module's explicit Swift module dependencies are now encoded in a JSON file, passed with
-explicit-swift-module-map-file
. The key benefit is that now the frontend doesn't need to deserialize the .swiftmodule file just to collect the module's name.Resolves rdar://problem/64533451