google / google/GoogleDataTransport
Move strictly internal headers from Private to Internal directories
- Dominant language
- Objective-C
- Stars
- 59
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Description
### 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
- [ ] Create the `GDTCCTLibrary/Internal` directory (currently missing).
- [ ] Move all headers from `GDTCORLibrary/Private` and `GDTCCTLibrary/Private` to `GDTCORLibrary/Internal` and `GDTCCTLibrary/Internal`.
- [ ] Run a global find-and-replace in the `GoogleDataTransport` codebase to update `#import` paths to the new `Internal` locations.
- [ ] **Coordinated Update**: Update the `#import` path for `GDTCORTransport_Private.h` in `firebase-ios-sdk` (specifically inside `FirebasePerformance/Tests/Unit/Loggers/FPRGDTLoggerTest.m`, which is the only external dependency and is isolated to a test).
- [ ] Run `GoogleDataTransport` unit and integration tests to verify successful compilation.
### 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.
Contributor guide
Assessment
This issue has not been assessed yet.