SwiftPM's New Resolver: Can it resolve the conflicts in my relationship?
summary
SwiftPM now uses Pubgrub and claims faster, deterministic dependency resolution by modeling constraints as incompatibilities and deriving root causes instead of brute forcing versions. The talk explains the actual algorithmic steps: represent version ranges as incompatible literals, learn new incompatibilities by merging conflicts, backtrack to the last decision, and derive a consistent version set. A concrete band-themed example resolves a dead end by rejecting one drummer version and succeeds, showing Pubgrub learns incompatibilities and produces a working package graph.
AI-written summary · about
chapters (6)
related talks
48mSwiftPM — Frameworks Instead of Coffee
01h 00mHow to Build Modularity with SPM and a Monorepo Without Going Gray
25mBuilding with SwiftPM
33mScaling Swift Development
30mFrom CocoaPods to Swift Package Manager
37mCut costs, not corners: Master modularization with SPM
28mPanel - Package Managers: Before and After npm
44mSwift Packages - Dependency Management of the Future
