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

Import CoreExtension as a module #13967

Closed
wants to merge 17 commits into from
Closed

Import CoreExtension as a module #13967

wants to merge 17 commits into from

Conversation

paulb777
Copy link
Member

@paulb777 paulb777 commented Oct 24, 2024

There are numerous build problems related to the headers in FirebaseCoreExtension being referenced by FirebaseCore and other modules caused by the headers being included twice from the two different contexts.

This PR addressed that by moving headers and implementations from FirebaseCoreExtension and FirebaseCore to FirebaseCoreInternal (FirebaseCoreInternalObjC for SPM).

Since FIRAppInternal.h and FIRHeartbeatLogger.h are intertwined with FIRApp.m, it's feasible to move them without a bigger refactor. In order for FIRHeartbeatLogger.h to build correctly, it cannot declare an enum, so the heartbeatCodeForToday API is converted to return an int.

Since this is an internal breaking change, the CocoaPods major version for the FIrebaseCore* podspecs need a bump to 12. The break is because early Firebase 11 pods float the minor FirebaseCore* versions.

We may want to make the next Firebase major version be 13 instead of 12, so we can resync the versions again.

The CI failures are either flakes are pending publishing the binary Analytics to staging.

@google-oss-bot
Copy link

1 Warning
⚠️ Did you forget to add a changelog entry? (Add #no-changelog to the PR description to silence this warning.)

Generated by 🚫 Danger

Copy link
Contributor

github-actions bot commented Oct 26, 2024

Apple API Diff Report

Commit: 440895f
Last updated: Mon Oct 28 20:06 PDT 2024
View workflow logs & download artifacts


[BUILD ERROR] FirebaseFirestore


@ncooke3
Copy link
Member

ncooke3 commented Oct 29, 2024

How can I reproduce the module building issues on main? I want to try a custom module map approach to remove the FirebaseCoreExtension entirely.

@paulb777
Copy link
Member Author

@ncooke3 See the repro instructions at #13756 with the following Podfile:

platform :ios, '13.0'

source 'https://github.com/firebase/SpecsDev.git'
source 'https://github.com/firebase/SpecsStaging.git'
source 'https://cdn.cocoapods.org/'

target 'tempDoc' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for tempDoc
     pod 'FirebaseCrashlytics', '11.5.0'
end

@paulb777
Copy link
Member Author

Closing in favor of the much simpler solution in #13993

@paulb777 paulb777 closed this Oct 29, 2024
@paulb777 paulb777 deleted the pb-core-ext-module branch October 29, 2024 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment