Background
Headers within the GDTCORLibrary/Private and GDTCCTLibrary/Private directories are strictly internal to GoogleDataTransport targets. By convention, Private directories denote APIs shared with other frameworks (e.g. across the Firebase monorepo), while Internal directories denote APIs isolated to the framework's own target.
An audit confirms these headers are not used externally in production by any Firebase SDKs. To accurately reflect their scope, they should be migrated to Internal directories.
Action Items
Notes
- Not a breaking change: This is a purely internal refactor. It does not affect
public_header_files or the public CocoaPods/SPM interface.
- Build files (Podspec/Package.swift) rely on folder globs so they shouldn't require structural changes, but verify no explicit
Private paths remain hardcoded.
Background
Headers within the
GDTCORLibrary/PrivateandGDTCCTLibrary/Privatedirectories are strictly internal toGoogleDataTransporttargets. By convention,Privatedirectories denote APIs shared with other frameworks (e.g. across the Firebase monorepo), whileInternaldirectories denote APIs isolated to the framework's own target.An audit confirms these headers are not used externally in production by any Firebase SDKs. To accurately reflect their scope, they should be migrated to
Internaldirectories.Action Items
GDTCCTLibrary/Internaldirectory (currently missing).GDTCORLibrary/PrivateandGDTCCTLibrary/PrivatetoGDTCORLibrary/InternalandGDTCCTLibrary/Internal.GoogleDataTransportcodebase to update#importpaths to the newInternallocations.#importpath forGDTCORTransport_Private.hinfirebase-ios-sdk(specifically insideFirebasePerformance/Tests/Unit/Loggers/FPRGDTLoggerTest.m, which is the only external dependency and is isolated to a test).GoogleDataTransportunit and integration tests to verify successful compilation.Notes
public_header_filesor the public CocoaPods/SPM interface.Privatepaths remain hardcoded.