SE-0236: Package Manager Platform Deployment Settings


(Pedro José Pereira Vieito) #41

Yes, I like this middle ground approach where excluding a platform requires explicitly specifying it.

It encourages packages were all platforms are supported while allowing restricting the supported OSs.

(Ankit Aggarwal) #42

I think this nicely summarizes the high level goals of this feature!

Agreed. This seems like the most sensible default to me.

I also want to separate out that part into a different proposal but I don't agree that it should be a different option. I feel like it should be part of the main platforms API.

Maybe something like:

platforms: .platforms([.macOS(.v10_13), .iOS(.v12)], restricted: true)

restricted=true would mean: allow all listed platforms + any platform not known to the current tools version. This will solve #1, #3, #4 and enable restricting to a particular set of platforms while allowing bringing up new platforms.

With this approach, we don't require .unsupported and it will lead to a much cleaner API. Having to explicitly mark platforms as unsupported seems counter-intuitive and can lead to a massive list of platforms as support for Swift grows over time.

(David Owens II) #43

I think this is a reasonable trade-off. I’d like to see platforms be more data-driven in the future, but I think this pattern still works fine there too.

(Johannes Weiss) #44

What is your evaluation of the proposal?


Is the problem being addressed significant enough to warrant a change to the Swift Package Manager?

Yes, right now swift-nio-transport-services is really annoying to compile (need to pass -X... flags) and this proposal will resolve this, awesome!

Does this proposal fit well with the feel and direction of Swift?


How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Read the proposal, most comments and chatted with Cory.

(Boris Buegling) #45

The review of SE-0236: Package Manager Platform Deployment Settings ran from November 14th through November 26th, 2018. There was a lot of feedback, and the proposal is accepted with modifications. Thanks to everyone who participated!

Boris Buegling
Review Manager

(Johannes Weiss) #46