[5/y] Improve support for configuring SPM Xcode projects #253
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.
Stack:
π #254 [6/y] Update example projects
π #253 β [5/y] Improve support for configuring SPM Xcode projects
π #252 [4/y] Show help message no mockable types are generated
π #251 [3/y] Fix unavailable generic protocol mock initializer
π #250 [2/y] Fix generator caching for multi-project setups
π #249 [1/y] Optimize dependency graph traversal
π #245 Replace SwiftPM with Swift Argument Parser
Current support for Swift Package Manager is a bit rough for both Xcode project and package manifest setups, and we lack clear guidance for the latter in the README (see #236).
One major issue is that using the configurator against an SwiftPM Xcode project links the CLI in derived data with a home-relative path, which isnβt guaranteed to be portable between development environments. Another is that SwiftPM packages which typically rely on path-based source lists must either output each mock file into the
Test/TargetName
directory or use the defaultMockingbirdMocks
output path and modify the target definition in the manifest.Since Swift Package Manager is gaining popularity in the iOS ecosystem, it makes sense to streamline our integration and bring it up to parity with CocoaPods and Carthage.
Changes:
pcregrep
in SwiftPM quick start guide