Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quick dependancy is not correctly versioned #313

Closed
omidontop opened this issue Jul 11, 2020 · 8 comments · Fixed by #314
Closed

Quick dependancy is not correctly versioned #313

omidontop opened this issue Jul 11, 2020 · 8 comments · Fixed by #314

Comments

@omidontop
Copy link
Contributor

When trying to add SwiftLint as a dependency it unfortunately fails to do so with the following message:

because SwiftLint >=0.37.0 depends on Commandant 0.17.0..<0.18.0 and Commandant >=0.16.0 depends on Quick 2.0.0..<3.0.0, SwiftLint >=0.37.0 requires Quick 2.0.0..<3.0.0.
And because siesta 1.5.1 depends on Quick 0.0.0 and no versions of siesta match the requirement 1.5.2..<2.0.0, SwiftLint is incompatible with siesta.
And because root depends on siesta 1.5.1..<2.0.0 and root depends on SwiftLint 0.39.2..<1.0.0, version solving failed.
@caipre
Copy link

caipre commented Oct 17, 2020

I'm running into the same basic issue after adding Quick and Nimble to my own project. Swift Package Manager is unable to resolve dependencies because Siesta uses https://github.com/pcantrell/Quick instead of https://github.com/Quick/Quick . It was surprising to me that this was a problem since these are test dependencies, but it seems Swift PM makes no such distinction.

My workaround is to use the same forked version of Quick and pin to 0.0.0 as Siesta is doing. This is less than ideal though, since the fork will always lag behind upstream.

@pcantrell
Copy link
Member

Could one (or both) of you switch your dependency on Siesta to the bump-swift-package-version branch, and see if that fixes your problem?

(Your client shouldn’t pick up Quick/Nimble at all, and SwiftPM has actively been working on resolving this. Their recent work may fix it if Siesta’s Package.swift specifies the newer behavior.)

@omidontop
Copy link
Contributor Author

omidontop commented Nov 5, 2020

Could one (or both) of you switch your dependency on Siesta to the bump-swift-package-version branch, and see if that fixes your problem?

(Your client shouldn’t pick up Quick/Nimble at all, and SwiftPM has actively been working on resolving this. Their recent work may fix it if Siesta’s Package.swift specifies the newer behavior.)

Hi Paul!

It did resolve the issue indeed! It still retrieves Quick and Nimble but doesn't complain anymore. Thank you for your help and dedication! When do you think it can be merged and released?

@pcantrell
Copy link
Member

Great news! I’ll try to get a point release out with this fix soon.

There’s one more SwiftPM improvement related to this issue that they’ve merged but not yet released, and if I understand correctly, it should stop downstream projects from fetching Quick and Nimble at all.

@omidontop
Copy link
Contributor Author

Great news! I’ll try to get a point release out with this fix soon.

There’s one more SwiftPM improvement related to this issue that they’ve merged but not yet released, and if I understand correctly, it should stop downstream projects from fetching Quick and Nimble at all.

Excellent! Then perhaps that issue would be solved in the next Swift version too. Thank you so much!

@pcantrell
Copy link
Member

This is now released as Siesta 1.5.2, so you should be able to update your Package.swift accordingly. Let me know if you hit any troubles!

FWIW, it looks like Swift 5.3.1 includes the further SwiftPM enhancements above, so now SwiftPM shouldn’t even download Quick and Nimble for downstream projects that don’t need them.

@caipre
Copy link

caipre commented Nov 21, 2020

Looks like it is indeed working, thanks @pcantrell !

@omidontop
Copy link
Contributor Author

Thank you Paul! Great work!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants