[swift-evolution] [Review] SE-0158 Package Manager Manifest API Redesign

Karl Wagner razielim at gmail.com
Thu Mar 9 16:48:43 CST 2017

> On 9 Mar 2017, at 23:32, Rick Ballard <rballard at apple.com> wrote:
> > Proposal link:
> >>  https://github.com/apple/swift-evolution/blob/master/proposals/0158-package-manager-manifest-api-redesign.md <https://github.com/apple/swift-evolution/blob/master/proposals/0158-package-manager-manifest-api-redesign.md>
>> On Mar 9, 2017, at 2:30 PM, Karl Wagner <razielim at gmail.com <mailto:razielim at gmail.com>> wrote:
>>> * Is the problem being addressed significant enough to warrant a change to the Swift Package Manager?
>> Not really. The package manifest API has lots of serious deficiencies and this proposal shuffles a couple of names around. Not sure it’s really worth the hassle, to be honest. It’s certainly very far from a “redesign”!
> Hi Karl,
> Would you mind expanding on the other deficiencies that you see in this API?
> Thanks,
> 	- Rick

I think they’re rather well-known:

- No support for resources; means no test resources (!), framework or application bundles.
- System package API is confusing, doesn’t account for OSX system libraries (“.tbd” files you see in Xcode’s “Link Libraries” panel).
- Source trees are exclude-only with no ability to selectively *include* other trees.
- Every package must have an independent source control repository. Even if it’s just redirecting to a system library (of which you can only sometimes really control the version).
- (Related) It would be nice if we could refer to independent modules within the same repository, who have their own Package.swift detailing their dependencies (like a “sub-package”). This can be helpful when developing modular applications or, as mentioned, when importing some external libraries from the system or another package manager.

- Package manager doesn’t resolve dependencies between files in the same module. You have to resolve it yourself and name the files alphabetically (this may be a bug rather than a missing feature, but I couldn’t find anything in the source which sorted the compiler inputs...)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170309/278db5c6/attachment.html>

More information about the swift-evolution mailing list