如何在Package.swift中指定模块的alpha版本?

Bla*_*ard 4 package swift swift-package-manager

我想为我的Swift项目添加一个名为Markdown的库,它是Vapor上的服务器端构建.

但是,似乎该库已经放弃了支持Swift 2.x,现在最新版本是1.0.0-alpha,它基于Swift 3.x.

由于我的项目基于Swift 3.x,我想获取库.该文件说明如下:

.Package(url: "https://github.com/crossroadlabs/Markdown.git", majorVersion: 0)
Run Code Online (Sandbox Code Playgroud)

但是,如何指定模块的alpha版本Package.swift

Kos*_*val 6

您可以使用prereleaseIdentifiers指定版本标记

Package(url: "http://...", "1.0.0-alpha")
Run Code Online (Sandbox Code Playgroud)

更多信息
Package Dependency具有许多便利初始化程序

.Package(url: String, versions: Range<Version>)
.Package(url: String, versions: ClosedRange<Version>)
.Package(url: String, majorVersion: Int)
.Package(url: String, majorVersion: Int, minor: Int)
.Package(url: String, _ version: Version)
Run Code Online (Sandbox Code Playgroud)

使用示例:

.Package(url: "https://github.com/Markdown.git", versions: Version(1,0,0)..<Version(2,0,0))
.Package(url: "https://github.com/Markdown.git", majorVersion: 1)
.Package(url: "https://github.com/Markdown.git", majorVersion: 1, minor: 4)
.Package(url: "http://github.com/Markdown.git", Version(1,0,0))
.Package(url: "http://github.com/Markdown.git", "1.0.0")
Run Code Online (Sandbox Code Playgroud)

Version结构遵循语义版本控制并具有以下格式.

Version(
    _ major: Int,
    _ minor: Int,
    _ patch: Int,
    prereleaseIdentifiers: [String] = [],
    buildMetadataIdentifier: String? = nil
)
Run Code Online (Sandbox Code Playgroud)

在创建Version实例时,您还可以指定prerelease和buildMetadata标识符

Version(0,1,0, prereleaseIdentifiers: ["alpha"], buildMetadataIdentifier: "10")
Run Code Online (Sandbox Code Playgroud)

您可以在Swift Package Manager仓库中找到更多信息