Skip to content

Conversation

@ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Sep 16, 2023

This resolves undefined symbol errors when using Firestore via SPM and building a target for testing. See issue 11656.

All three are needed. Interestingly, abseil is not. Likewise, there were missing leveldb and nanonpb symbols. I'd like to understand why.

I can't pin the behavior difference to an Xcode 15 release note, but it may be related to this one.

Some other approaches that may work here (though I think generalizing the current approach may be best):

  1. Add modular imports of these frameworks into Firestore's source. I was not successful at it so far, but I suspect another way to link the missing symbols in is to modularly import each of these frameworks into Firestore's source code. The headers should be removed from the gRPC++, Boring-SSL, and gRPC-Core xcframeworks, and the generated module maps for each of those would need to be reworked to support being modularly imported by clients.
  2. Check in a custom module map for Firestore that the zip-builder can reference.

Fix #11656
#no-changelog

@ncooke3 ncooke3 closed this Sep 16, 2023
@ncooke3 ncooke3 reopened this Sep 16, 2023
Copy link

@infinityX6920 infinityX6920 left a comment

Choose a reason for hiding this comment

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

its review

@ncooke3 ncooke3 changed the title [Release Tooling] Explicitly link direct/transitive deps. in module.modulemap [Release Tooling] Explicitly FST link direct/transitive deps. in module.modulemap Sep 18, 2023
@ncooke3 ncooke3 marked this pull request as ready for review September 18, 2023 17:07
@ncooke3 ncooke3 requested a review from paulb777 September 18, 2023 17:07
@paulb777 paulb777 added this to the 10.16.0 - M138 milestone Sep 18, 2023
@ncooke3 ncooke3 merged commit 5b51eab into master Sep 18, 2023
@ncooke3 ncooke3 deleted the nc/release-tooling-10049 branch September 18, 2023 18:37
ncooke3 added a commit that referenced this pull request Sep 18, 2023
ncooke3 added a commit that referenced this pull request Sep 18, 2023
@firebase firebase locked and limited conversation to collaborators Oct 19, 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.

No such module 'Promises' when building for testing on Xcode 15.0-beta5

4 participants