Merge pull request #3 from zntfdr/swift-5.5-migration

Swift 5.5 migration
This commit is contained in:
Federico Zanetello 2022-01-30 10:48:01 +07:00 committed by GitHub
commit 230acd22b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 39 additions and 50 deletions

View File

@ -11,8 +11,8 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Select Xcode 11.4
run: sudo xcode-select -s /Applications/Xcode_11.4.app && xcodebuild -version
- name: Select Xcode 13.2.1
run: sudo xcode-select -s /Applications/Xcode_13.2.1.app && xcodebuild -version
- name: Build
run: swift build -v
- name: Run tests

View File

@ -12,4 +12,4 @@ jobs:
- name: Checkout
uses: actions/checkout@v1
- name: GitHub Action for SwiftLint
uses: norio-nomura/action-swiftlint@3.0.1
uses: norio-nomura/action-swiftlint@3.2.1

View File

@ -6,8 +6,8 @@
"repositoryURL": "https://github.com/apple/swift-argument-parser.git",
"state": {
"branch": null,
"revision": "9f04d1ff1afbccd02279338a2c91e5f27c45e93a",
"version": "0.0.5"
"revision": "e1465042f195f374b94f915ba8ca49de24300a0d",
"version": "1.0.2"
}
},
{
@ -15,8 +15,8 @@
"repositoryURL": "https://github.com/apple/swift-tools-support-core.git",
"state": {
"branch": null,
"revision": "693aba4c4c9dcc4767cc853a0dd38bf90ad8c258",
"version": "0.0.1"
"revision": "f9bbd6b80d67408021576adf6247e17c2e957d92",
"version": "0.2.4"
}
}
]

View File

@ -1,4 +1,4 @@
// swift-tools-version:5.2
// swift-tools-version:5.5
import PackageDescription
@ -10,25 +10,21 @@ let package = Package(
],
dependencies: [
.package(url: "https://github.com/apple/swift-argument-parser.git",
.upToNextMinor(from: "0.0.1")),
.upToNextMinor(from: "1.0.1")),
.package(url: "https://github.com/apple/swift-tools-support-core.git",
.upToNextMinor(from: "0.0.1"))
.upToNextMinor(from: "0.2.4"))
],
targets: [
.target(
.executableTarget(
name: "lifeCLI",
dependencies: [
.product(name: "SwiftToolsSupport",
.product(name: "SwiftToolsSupport-auto",
package: "swift-tools-support-core"),
.product(name: "ArgumentParser",
package: "swift-argument-parser"),
"Life"
]),
.target(
name: "Life",
dependencies: []),
.testTarget(
name: "LifeTests",
dependencies: ["Life"]),
.target(name: "Life"),
.testTarget(name: "LifeTests", dependencies: ["Life"])
]
)

View File

@ -1,15 +1,16 @@
import ArgumentParser
import Life
@main
struct Life: ParsableCommand {
@Option(name: .shortAndLong, default: 10, help: "The world rows number.")
var rows: Int
@Option(name: .shortAndLong, help: "The world rows number.")
var rows: Int = 10
@Option(name: .shortAndLong, default: 80, help: "The world columns number.")
var columns: Int
@Option(name: .shortAndLong, help: "The world columns number.")
var columns: Int = 80
@Option(name: .shortAndLong, default: .simple, help: "The world mode. (simple|loop)")
var mode: Mode
@Option(name: .shortAndLong, help: "The world mode. (simple|loop)")
var mode: Mode = .simple
func validate() throws {
guard rows > 0, columns > 0 else {

View File

@ -1 +0,0 @@
Life.main()

View File

@ -1,16 +1,9 @@
prefix ?= /usr/local
bindir = $(prefix)/bin
libdir = $(prefix)/lib
install:
swift build -c release
install ".build/release/life-cli" "$(bindir)/life"
install ".build/release/libSwiftToolsSupport.dylib" "$(libdir)"
install_name_tool -change \
".build/x86_64-apple-macosx10.10/release/libSwiftToolsSupport.dylib" \
"$(libdir)/libSwiftToolsSupport.dylib" \
"$(bindir)/life"
uninstall:
rm -rf "$(bindir)/life"
rm -rf "$(libdir)/libSwiftToolsSupport.dylib"