chore: stop linking swift-clocks and XCTestDynamicOverlay into shipped products - #1353
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe package manifest removes Priority: ⬇️ Low Change: Other Merge Risk: ⚪ Minimal · up to The dependency changes have no confirmed impact on shipped behavior or supported build workflows. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The following capabilities are marked
The following capabilities are marked
These may have been renamed, removed, or never registered. Please update the capability matrix. |
4c23a86 to
bd7cc7b
Compare
bd7cc7b to
7c59c8c
Compare
|
Coverage Report for CI Build 35232742984Warning No base build found for commit Coverage: 89.284%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
`Helpers` is a dependency of every product, so anything it links reaches every consumer — and anything it links transitively satisfies imports in targets that never declared it. `Clocks` is that second case. `Helpers` itself does not import it; `Auth`, `RealtimeV2` and `Supabase` do, three of them as `public import`, and were compiling only because `Helpers` happened to pass it down. Each now declares it directly, so a target's dependency list says what it actually uses and removing a dependency from `Helpers` cannot silently break a sibling. `XCTestDynamicOverlay` is the first case and is simply dropped. It appeared in two `Helpers` files, both only for `isTesting`, which `IssueReporting` vends too. `IssueReporting` is the runtime half of that package and the one Point-Free recommends shipping; `XCTestDynamicOverlay` adds `unimplemented` and friends, which are test scaffolding and which nothing in `Sources/` uses. The test targets that want it keep declaring it. Part of SDK-1805.
7c59c8c to
2a48c64
Compare
Helpersis a dependency of every product, so anything it links reaches every consumer of the SDK.Clockswas imported by zero files underSources/— only byRealtimeTestsandIntegrationTests, which now declare it themselves. (PostgrestBuilderTestsalso exercises a clock, but via its own type conforming to the stdlibClock, so it needs no product.)XCTestDynamicOverlayappeared in twoHelpersfiles, both only forisTesting, whichIssueReportingvends too.IssueReportingis the runtime half of that package and the one Point-Free recommends shipping;XCTestDynamicOverlayaddsunimplementedand friends, which nothing inSources/uses. The test targets that want it keep declaring it directly.Testing
Risk
Low, but it is a linkage change — worth confirming the Linux and library-evolution CI jobs both go green before merge.
Stack
Part of SDK-1805.