Carthage / Carthage/Carthage

Add range and/or sequence syntax for dependency versions

Open
#803 6 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Swift
Stars
15.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

With the near constant state of change in Swift, Xcode and prerelease libraries Carthage may need to support a range and/or sequence syntax for specifying compatible versions. Given that commits have a total order this should be feasible, but I haven't looked closely at the version resolving code to see how complicated this would be.

```
# baseline commit through some branch head
github "ReactiveCocoa/ReactiveCocoa" "v4.0-alpha" => "swift2"
# or a series of commits
github "ReactiveCocoa/ReactiveCocoa" "asdf1234", "zxcv5678", "qwer890a"
# maybe some other syntax, haven't thought too much about it yet
```

Of course this wouldn't magically fix all down-stream breaks when dependencies are poorly specified. However, it would at least give us a tool to better scope and constrain our dependencies without first having to go fix the lower level frameworks.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.