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

Andrey Fidrya af at zabiyaka.com
Tue Mar 14 18:50:27 CDT 2017


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



> On 14 Mar 2017, at 19:29, Rick Ballard via swift-build-dev <swift-build-dev at swift.org> 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>
> 
> Thanks for this feedback. We'll revise it to "from:".
> 
> Since we're still making minor revisions to this proposal, I'm going to extend the review period by another day to make sure we don't have any other important feedback pending.
> 
> 	- Rick
> 
>> On Mar 14, 2017, at 12:28 AM, David Hart <david at hartbit.com <mailto:david at hartbit.com>> wrote:
>> 
>> Yep, after does sound confusing. I prefer from.
>> 
>>> On 14 Mar 2017, at 08:22, Ankit Aggarwal via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> Hi,
>>> 
>>>> – Dave Sweeris' point about this reading wrong in English as .upToNextMajor("x.y.z") (vs. of "x.y.z".upToNextMajor) makes sense to us too. As a result, we're going to clarify this by changing it to .upToNextMajor(after:"x.y.z") and .upToNextMinor(after:"x.y.z").
>>> 
>>> 
>>> The "after" in .upToNextMajor(after: "x.y.z") sounds like we're going to pick the version after `x.y.z`, for e.g. `x.y.(z+1)`, and go upto the next major version. I think we should use `from` instead of `after`, which is more clear IMO. It also feels like `after` and `from` (in shorthand) do different things, and if we use `form`, it will also be reasonable to assume that the `.package(url:from:)` is a shorthand form.
>>> 
>>> - Ankit
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
> 
> _______________________________________________
> swift-build-dev mailing list
> swift-build-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-build-dev

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


More information about the swift-evolution mailing list