New resolver output does not match old resolver · in this situation, all dependencies lack specifiers in the root-level Cartfile
- Dominant language
- Swift
- Stars
- 15.2k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
* carthage install method: homebrew
* `which carthage`: /usr/local/bin/carthage
* `carthage version`: 0.29.0
* `xcodebuild -version`: Xcode 9.3 Build version 9E145
**Cartfile**
```
github "ReactiveX/RxSwift"
github "RxSwiftCommunity/RxOptional"
github "RxSwiftCommunity/RxSwiftExt"
github "Quick/Nimble"
github "Quick/Quick"
github "uber/ios-snapshot-test-case"
```
**Carthage Output**
```
carthage update --no-build --new-resolver
```
```
*** Fetching RxOptional
*** Fetching RxSwiftExt
*** Fetching ios-snapshot-test-case
*** Fetching Nimble
*** Fetching Quick
*** Fetching RxSwift
*** Checking out RxOptional at "3.4.1"
*** Checking out RxSwiftExt at "3.2.0"
*** Checking out ios-snapshot-test-case at "3.0.0"
*** Checking out Nimble at "v7.1.0"
*** Checking out Quick at "v1.2.0"
*** Checking out RxSwift at "4.0.0"
```
**Carthage Output**
```
carthage update --no-build
```
```
*** Fetching RxSwift
*** Fetching Quick
*** Fetching Nimble
*** Fetching ios-snapshot-test-case
*** Fetching RxSwiftExt
*** Fetching RxOptional
*** Checking out RxOptional at "3.4.1"
*** Checking out RxSwiftExt at "3.2.0"
*** Checking out ios-snapshot-test-case at "3.0.0"
*** Checking out Nimble at "v7.1.0"
*** Checking out Quick at "v1.2.0"
*** Checking out RxSwift at "4.1.2"
```
The new resolver checks out RxSwift 4.0.0, whereas the old resolver checks out 4.1.2. This was the smallest Cartfile I could find that would reproduce this issue. Although I used --no-build here, I see the same issue without it.
Contributor guide
Research direction
Start with the root-level Cartfile and reproduce the dependency resolution using both `carthage update --no-build --new-resolver` and `carthage update --no-build`. Compare the selected RxSwift versions, 4.0.0 and 4.1.2, while checking the other listed dependencies; done means the new resolver produces the intended result consistently with the old resolver.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100