Skip to content
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

[Release Tooling] Create module maps for mixed language targets #11919

Merged
merged 2 commits into from
Oct 11, 2023

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Oct 10, 2023

These changes are needed to build correct xcframeworks for mixed language CocoaPods. They were informed by work in #11806.

Problem

The release tooling creates custom module maps for some SDKs (e.g. Firestore). The contents of the custom module map is stored in memory until it is written to disk when the slices of the xcframework are assembled. During this assembly, the release tooling currently makes the assumption that if a Swift module is present, the SDK is a pure Swift SDK and it uses the module map contents generated by CocoaPods (which modularizes the Swift header with a submodule). This is problematic since the custom module map contents in memory are ignored.

Solution

For mixed language SDKs, the custom module map contents should be concatenated with the part that CocoaPods generates (the modularization of the Swift header in a submodule).

Open Questions

  • Does Carthage work?
    • This seems to have no effect on the Carthage build. I diff'd the Firestore and Storage.

#no-changelog

@ncooke3 ncooke3 requested a review from paulb777 October 10, 2023 22:48
Copy link

@TokenPayId TokenPayId left a comment

Choose a reason for hiding this comment

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

nc/tooling-swift-merged

@ncooke3
Copy link
Member Author

ncooke3 commented Oct 11, 2023

Did a manual diff with CI zip artifact and nightly zip artifact. Merging.

@ncooke3 ncooke3 enabled auto-merge (squash) October 11, 2023 16:12
@ncooke3 ncooke3 merged commit 8b46c6a into master Oct 11, 2023
39 checks passed
@ncooke3 ncooke3 deleted the nc/tooling-swift-merged branch October 11, 2023 16:12
@firebase firebase locked and limited conversation to collaborators Nov 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants