目录
目录README.md

SemanticVersioning [x.x.x]

This package provides the Swift protocol compatible with Semantic Versioning (2.0.0).

Test MIT License Latest Version

Features

  • By conforming to the SemanticVersioning protocol, it can be represented as a type that behaves as a version of software compliant with Semantic Versioning (2.0.0).

    import SemanticVersioning
    
    // conforms to SemanticVersioning
    struct MyAppVersion: SemanticVersioning {
      let major: Int
      let minor: Int
      let patch: Int
      let preRelease: PreRelease?
      let buildMetaData: String?
    }
  • Can be initialized from String literals.

    let appVersion: MyAppVersion = "1.1.1"
    // String literals can also contain pre-release and build metadata.
    // let appVersion: MyAppVersion = "1.1.1-alpha"
    // let appVersion: MyAppVersion = "1.1.1-alpha+build.1"
  • Comparable and Equatable.

    if appVersion > "1.0.0" {
      // Some operation when appVersion is greater than 1.0.0
    } else if appVersion == "0.1.0" {
      // Some operation when appVersion is 0.1.0 
    }
  • Increment version number.

    print(appVersion)
    // -> 1.1.1
    print(appVersion.increment(.major))
    // -> 2.0.0
    print(appVersion.increment(.minor))
    // -> 1.2.0
    print(appVersion.increment(.patch))
    // -> 1.1.2

Requirements

  • Swift 5.5 or later
  • macOS 10.13+ or iOS 11.0+ or watchOS 4.0+ or tvOS 11.0+

Supported Platforms

  • Apple Platforms
  • Linux

Usage

Package.swift

  1. Add SemanticVersioning to your Package.swift dependencies:

    .package(url: "https://github.com/taji-taji/SemanticVersioning.git", from: "0.0.1")
  2. Add SemanticVersioning to your dependencies of SemanticVersioning target:

    .product(name: "SemanticVersioning", package: "SemanticVersioning")
关于
47.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号