swift-cli-version

CI

一个 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 字符串变量未在您的源文件中声明,您也可以访问它。

文档

您可以在这里查看最新的文档。

依赖项

本项目依赖于以下依赖项