一个 Swift 包,它提供了一些插件来设置命令行工具的版本为 Git 标签或 Git SHA(如果当前提交没有设置标签)。
通过将这些插件作为包包含到您的项目中,并在目标的 plugins
部分声明来使用它们。
注意:您必须使用 swift-tools 5.6 或更高版本才能使用包插件,并且目标必须为
macOS(.v10_15)
或更高版本。
// swift-tools-version: 5.7
import PackageDescription
let package = Package(
platforms:[.macOS(.v10_15)],
dependencies: [
...,
.package(url: "https://github.com/m-housh/swift-cli-version.git", from: "0.1.0")
],
targets: [
.executableTarget(
name: "<target name>",
dependencies: [...],
plugins: [
.plugin(name: "BuildWithVersionPlugin", package: "swift-cli-version")
]
)
]
)
上面的示例使用了构建工具插件。BuildWithVersionPlugin
将使您可以在您的项目中使用 VERSION
变量,您可以使用该变量来提供工具的版本。
import ArgumentParser
@main
struct MyCliTool: ParsableCommand {
static let configuration = CommandConfiguration(
abstract: "My awesome cli tool",
version: VERSION
)
func run() throws {
print("Version: \(VERSION)")
}
}
启用插件后,即使 VERSION
字符串变量未在您的源文件中声明,您也可以访问它。
您可以在这里查看最新的文档。
本项目依赖于以下依赖项