<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 9 Mar 2017, at 23:32, Rick Ballard &lt;<a href="mailto:rballard@apple.com" class="">rballard@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">&gt; Proposal link:<br class="">&gt;&gt; &nbsp;<a href="https://github.com/apple/swift-evolution/blob/master/proposals/0158-package-manager-manifest-api-redesign.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0158-package-manager-manifest-api-redesign.md</a><div class=""><br class=""></div><div class=""><blockquote type="cite" class="">On Mar 9, 2017, at 2:30 PM, Karl Wagner &lt;<a href="mailto:razielim@gmail.com" class="">razielim@gmail.com</a>&gt; wrote:</blockquote></div><div class=""><blockquote type="cite" class=""><div class=""><blockquote type="cite" class=""><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="">* Is the problem being addressed significant enough to warrant a&nbsp;change to the Swift Package Manager?<br class=""></div></div></div></blockquote><div class=""><br class=""></div><div class="">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”!</div></div></blockquote></div><div class=""><br class=""></div><div class="">Hi Karl,</div><div class=""><br class=""></div><div class="">Would you mind expanding on the other deficiencies that you see in this API?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>- Rick</div><div class=""><br class=""></div></div></div></blockquote></div><br class=""><div class="">I think they’re rather well-known:</div><div class=""><br class=""></div><div class="">- No support for resources; means no test resources (!), framework or application bundles.</div><div class="">- System package API is confusing, doesn’t account for OSX system libraries (“.tbd” files you see in Xcode’s “Link Libraries” panel).</div><div class="">- Source trees are exclude-only with no ability to selectively *include* other trees.</div><div class="">- 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).</div><div class="">- (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.</div><div class=""><br class=""></div><div class="">- 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...)</div></body></html>