* Rewrite Auth RPC types using Swift types.
This largely stems from the unsafe casting that occurs. Current state:
all types have been converted, almost no calls using those types have
been converted, ran into an issue with TwitterAuthCredential where it
takes a parameter that's an RPC type, but can't be visible in ObjC. This
may result in an API change unfortunately, or a rethinking of how the
AuthCredential and Providers work.
---------
Co-authored-by: Ryan Wilson <wilsonryan@google.com>
* Private header exposed to internal Swift impl via private module
* Include all non-public headers in private module map
* Add TODO and #if out import
* Prefer <...> imports and fix API visibility. See more...
- The private module map enables us to selectively expose non-public
headers to Swift. Now, the internal APIs that were made public for the
sake of exposing to Swift can be made internal again. Swift files that
need access to non-public API should do the following:
@_implementationOnly import FirebaseAuth_Private
- Additionally, any public header imported into a non-public header
needs to use <...> syntax because the header is technically coming
from a different module (FirebaseAuth rather than FirebaseAuth_Private).
* Fix import typo
* Style
* More progress. Building for CocoaPods. Not for SPM
* Remove 'MyPrivateClass.h'
* Generate private module map
* Generate private module map followup
* Re-enable testing spec
* Style
* Remove unneeded module.modulemap
* Revert "Remove unneeded module.modulemap"
This reverts commit 3ac44c3570.
* Adjust header import since FIRAuthBackend was moved
* Get library building on iOS
* Builds on iOS
* Revert private module map and update gitignore
* Add TODO
* Wrap FirebaseAuth_Private import with #if COCOAPODS
* Modularize script with arg[0] for podspec name
* Generalize script more and remove private module map
* Revert unintentionally checked in changes
* re-style @objc(...) qualifier
* Fix check
* Fix SPM build
* Change API back to what it was originally
* Fix copyright
* Better error handling in script