kareman / Moderator

A simple, modular command line argument parser in Swift.
MIT License
21 stars 2 forks source link

Updates to Swift Package Manifest for Swift 4.2 / 5.0 #6

Closed Kaiede closed 5 years ago

Kaiede commented 5 years ago

Starting with Swift 4.2, the old v3 manifest starts throwing warnings that it is deprecated. Now with Swift 5 out the door, the old v3 manifest no longer builds at all.

This PR does two things: 1) Adds a Package@swift-4.swift manifest using the v4 manifest. This silences the warning and makes it possible to build for Swift 5, while not losing the ability to build for Swift 3. At least until a code change breaks it. 2) Updates the CI configuration to build/test a bunch of Swift compiler versions. On Linux: Swift 3.1.1, Swift 4.1.3, Swift 4.2.3, Swift 5.0. On Mac: Xcode 9.4 and 10.

kareman commented 5 years ago

Excellent stuff, I had forgotten you could have several Package.swift files. Thank you, I will release these changes in a new version.

kareman commented 5 years ago

@Kaiede But do you think a lot of people are still using Swift 3? This project is currently using 2 deprecated methods, which give warnings when running xcodebuild from the command line (but strangely not when running from Xcode). Fixing these warnings means dropping support for Swift 3.

Kaiede commented 5 years ago

I’m mostly leaving it in because I haven’t fully deprecated Swift 3 in my project yet.

4.1.3 was only recently “fixed” for Rapsberry Pi and other 32-bit ARM devices a couple months ago.

I’m in the middle of doing the work to move off Swift 3, and onto 4.1.3 (32-bit) and 5.0 (64-bit).

Once that’s done, I can certainly do the deprecation for Swift 3 on Moderator as well.

kareman commented 5 years ago

No problem, I’ll leave it as it is.