Make SPM the canonical build; isolate Carthage project under ios/#55
Merged
Conversation
The Swift Package is now the primary, unshadowed build at the repo root. The Carthage Xcode project moves under `ios/` so it no longer sits next to (and shadow) `Package.swift`, which previously forced `xcodebuild` to pick the Carthage project over the package at the root. - Move `RIBs.xcodeproj` to `ios/RIBs.xcodeproj` and fix its group paths (`RIBs` -> `../RIBs`, `RIBsTests` -> `../RIBsTests`) for the new depth. - Add an `spm-test` CI job that builds and tests the package directly from the root, resolving an available simulator at runtime (no pinned model name). - Drop the retired `.travis.yml` (CI runs on GitHub Actions). - Align the Cartfile RxSwift pin (~> 6.9.0) with `Package.swift`. Co-Authored-By: Claude Opus 4.8 <[email protected]> Claude-Session: https://claude.ai/code/session_01J9mruKG6RSYg6SfPaq6MPG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The repo shipped a Swift Package (
Package.swiftat the root) and a CarthageRIBs.xcodeprojsitting right next to it. When both live at the root,xcodebuildresolves the.xcodeprojover the package, so the SPM build was effectively shadowed — you couldn't build/test the package from the root without moving the project aside first.What
RIBs.xcodeproj→ios/RIBs.xcodeprojso the root resolves directly toPackage.swift. The Carthage project is preserved (not deleted) for Carthage consumers, just no longer shadowing the package. Its group paths are fixed for the new depth (RIBs→../RIBs,RIBsTests→../RIBsTests).spm-testCI job that builds and tests the package straight from the root. It resolves an available simulator at runtime (same non-rotting approach as ci: resolve iOS simulator at runtime instead of pinning iPhone 16 #54) rather than pinning a model name..travis.yml— CI runs on GitHub Actions.~> 6.9.0) withPackage.swift.Verification
xcodebuild test -scheme RIBsfrom the root (SPM package) → 55/55 passing on an iOS 26 simulator.xcodebuild -project ios/RIBs.xcodeproj -listresolves theRIBsscheme (path fixups valid).Example/has its own project and itsPodfilereadsRIBs.podspec(source globs), with no reference to the root xcodeproj.🤖 Generated with Claude Code