swift-system icon indicating copy to clipboard operation
swift-system copied to clipboard

Add explicit minimum supported darwin platforms to manifest

Open roanutil opened this issue 1 year ago • 4 comments

It's my understanding that SwiftPM implicitly includes these platform minimums. It would be nice if they're explicitly specified for clarity. For tools that need to parse the manifest, it can make a big difference.

With the minimum tools version of 5.8, visionOS couldn't be included so a 5.9 specific manifest was added.

I based this branch and PR off of dev/merge-1.3.0-back-to-main because that seems to be the current leading branch.

roanutil avatar Jun 01 '24 18:06 roanutil

The package doesn't use any features gated by OS availability, so I'm not clear what this is helpful for?

glessard avatar Jun 01 '24 18:06 glessard

For what it's worth, if not done carefully this can also be a semver major for downstream users, as they become forced to add the same annotations to their Package.swift or get unsolveable builds.

Lukasa avatar Jun 03 '24 06:06 Lukasa

The package doesn't use any features gated by OS availability, so I'm not clear what this is helpful for?

The intent is to make explicit what I understand to be already be enforced implicitly by spm. Version 1.3 temporarily broke the ability of Tuist to include swift-system as a dependency because the minimum supported platforms were not explicit but settings were applied to targets per platform anyway. Tuist has been fixed but it made me consider the bigger picture of implicit vs explicit platforms in the manifest.

roanutil avatar Jun 12 '24 14:06 roanutil

Can you point us to the url and version involved for Tuist? We should see the problem first-hand, in order to decide if the fix is here or in spm. Thanks!

glessard avatar Jun 12 '24 16:06 glessard