swift-cli-version

0.1.0

m-housh/swift-cli-version

What's New

v0.1.0

2023-03-15T19:19:56Z

Initial release.

swift-cli-version

CI

A swift package that exposes some plugins to set the version of a command line tool to the git tag or the git sha, if a tag is not set for the current commit.

Overview

Use the plugins by including as a package to your project and declaring in the plugins section of your target.

Note: You must use swift-tools version 5.6 or greater for package plugins and target macOS(.v10_15) or greater.

// 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")
      ]
    )
  ]
)

The above example uses the build tool plugin. The BuildWithVersionPlugin will give you access to a VERSION variable in your project that you can use to supply the version of the tool.

Example

import ArgumentParser

@main
struct MyCliTool: ParsableCommand { 
  static let configuration = CommandConfiguration(
    abstract: "My awesome cli tool",
    version: VERSION
  )

  func run() throws { 
    print("Version: \(VERSION)")
  }
}

After you enable the plugin, you will have access to the VERSION string variable even though it is not declared in your source files.

Documentation

You can view the latest documentation here.

Dependencies

This project relys on the following dependencies:

Description

  • Swift Tools 5.6.0
View More Packages from this Author

Dependencies

Last updated: Thu Mar 14 2024 15:43:00 GMT-0900 (Hawaii-Aleutian Daylight Time)