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

Rick Ballard rballard at apple.com
Wed Mar 15 12:31:28 CDT 2017


> 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>

Hi Andrey,

You suggestions here sound like they'd only require the addition of new API, not changes to existing API. We have a compatibility mechanism designed to support easily adding new API without causing breakage in the ecosystem; you can read about it at https://github.com/apple/swift-evolution/blob/master/proposals/0152-package-manager-tools-version.md <https://github.com/apple/swift-evolution/blob/master/proposals/0152-package-manager-tools-version.md>.

The Package Manager Manifest API Redesign proposal is intentionally scoped to revising existing API and doesn't cover additive features. Please feel free to spin up a new discussion thread about this and/or create a proposal for these additions. I don't think we should hold up the API Redesign for this, however.

Thank for taking the time to contribute,

	- Rick

> On Mar 14, 2017, at 4:50 PM, Andrey Fidrya <af at zabiyaka.com> wrote:
> 
> Hi Ankit,
> 
> I like the proposal very much. One question about SystemPackageProvider:
> 
> Sometimes it's neccessary to pass options to brew or apt-get, for example:
> brew install libxml2 --with-python
> 
> Should they be added to package name or have a separate field? Adding the field in the future will break compatibility.
> 
> let package = Package(
>     providers: [
>         .brew(["libxml2 --with-python"]),
>     ]
> )
> 
> Another thing which comes to mind is a human-readable description field which could be helpful in some situations. I.e. "don't forget to generate a private key by running XXX". I think of something like this:
> 
> let package = Package(
>     providers: [
>         .brew([
>           "openssl",
>           SystemPackage(name: "libxml2", options: "--with-python", description: "........")
>         ]),
>     ]
> )
> 
> Regards,
> Andrey

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170315/4f13911e/attachment.html>


More information about the swift-evolution mailing list