Defining versions in Cartfile for dependencies #212
Merged
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.
Description of the pull request
Defining versions in Cartfile for dependencies so dependencies can update to latest xcode/swift and publish breaking versions without breaking current release of this when still run on something other than the latest xcode/swift development environment
Why is the change necessary?
Reachability, Starscream, and CryptoSwift have all published releases compatible with Swift 5 and XCode 10.2. Because the current Cartfile does not define any version requirements for the depencies, the "latest" release is always taken. Running
carthage update
orcarthage bootstrap
as our CI build tool does is now failing as we are not yet running XCode 10.2 in CI (or locally).Going forward, as releases of this library come out supporting different swift/xcode versions, the versions of the dependencies should remain defined (and updated) in the Cartfile so that they build with the correct known working versions.