Swift Server Side - Kitura (2) SPM
Swift
Kitura
Server Side
IBM
Swift Package Manager
Kitura
還沒安裝的可以前往這一篇觀看如何安裝
Swift Server Side - Kitura (1) Install
Kitura 是一個 Swift 基底的 Server Side Framework
使用 Swift Package Manager 管理第三方套件
Swift Package Manager (以下簡稱 SPM) 官方說明
The Swift Package Manager is a tool for managing the distribution of Swift code.It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
使用方法很簡單,只要打開 Package.swift
就可以看到類似如下的結構
import PackageDescription
let package = Package(
name: "project",
dependencies: [
.package(url: "https://github.com/IBM-Swift/Kitura.git", .upToNextMinor(from: "2.8.0")),
.package(url: "https://github.com/IBM-Swift/HeliumLogger.git", from: "1.7.1"),
.package(url: "https://github.com/IBM-Swift/Health.git", from: "x.x.x"),
],
targets: [
.target(name: "project",
dependencies: [ .target(name: "Application") ]),
.target(name: "Application",
dependencies: [ "Kitura", "Health" ]),
.testTarget(name: "ApplicationTests" ,
dependencies: [.target(name: "Application"), "Kitura", "HeliumLogger" ])
]
)
所有你要使用的第三方 Framework 都會寫在 dependencies 裡面
解釋一下寫入的內容
// URL 指定路徑
// upToNextMinor 可以某個版本以上 不超過大版本, 已範例 2.8.0 來說,不會安裝到 3.0.0 以上的版本
.package(url: "https://github.com/IBM-Swift/Kitura.git", .upToNextMinor(from: "2.8.0")),
// 直接使用 from 指定特定版本
.package(url: "https://github.com/IBM-Swift/HeliumLogger.git", from: "1.7.1"),
// 當然也可以使用 x.x.x 永遠抓最新的版本
.package(url: "https://github.com/IBM-Swift/Health.git", from: "x.x.x"),
// 還有可以指定某個 Branch, 某個 Commit, 也可以指定某個區間都接受的寫法
// 等待你來發掘
當然 Target 就是在指定哪些 Framework 只使用在哪些環境
所以當你要添加一個新的 Framework 只需要在 dependencies 及 Target 上添加
無可避免的你還是要到 Terminal 下指令
// 根據 Package.swift 更新 Framework
swift package update
// 重新產生 Xcode Project 檔
swift package generate-xcodeproj