Make test dependencies not resolve when installing with SPM [SDK-2601] #671
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.
Changes
Lock.swift relies on the Quick and Nimble test libraries for its tests, and it's pinning their version range to a particular major. Currently, when installing Lock.swift with the Swift Package Manager it will resolve both test dependencies even though they're not used in the actual library. This opens up the possibility of conflict if the app the libraries are imported into is using another major version of Quick/Nimble.
SPM has, since swift 5.2 (released with Xcode 11.4), supported a way to have the test dependencies not resolve if they're not used. Since we already dropped support for Xcode < 11.4, this will not be a breaking change.
References
Fixes auth0/SimpleKeychain#107
Related to auth0/SimpleKeychain#108
Related to auth0/JWTDecode.swift#125
Related to auth0/Auth0.swift#476
Testing
Checklist