[swift-evolution] [Review] SE-0175 Package Manager Revised Dependency Resolution

Martin Waitz tali at admingilde.org
Fri May 5 01:55:15 CDT 2017


> * What is your evaluation of the proposal?

I’m in favour of this proposal.
It solves the problems I have with the current behaviour of the swift package manager.

> * Is the problem being addressed significant enough to warrant a change to the Swift Package Manager?

yes.
While the existing auto-pinning feature can be used to get reproducible dependency versions,
it has some deficiencies which make it more complicated than required for the common cases without really solving the more exotic use cases.
Package pinning vs. requiring a specific revision in Package.swift also felt like two overlapping features without a clear motivation for one versus the other.

> * Does this proposal fit well with the feel and direction of Swift?

yes.
It focuses on doing one thing well without precluding other user use cases.
The new behaviour defaults does the right thing(TM) for the common use cases and is easily explained.
Especially now that we are already able to require specific versions within Package.swift, SE-0150+SE-0175 provide a nice set of orthogonal features.

> * If you have used other languages, libraries, or package managers with a similar feature, how do you feel that this proposal compares to those?

Never used a package manager with this kind of dependency resolution and always wanted to have one.

> * How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Took part in the discussions for SE-0145 and now read SE-0175.

— 
Martin


More information about the swift-evolution mailing list