在Swift PM的Package.swift中指定依赖关系分支或提交ID

cou*_*elk 7 swift-package-manager

有没有办法定义依赖关系,Package.swift这将指向某个分支最新提交,甚至只是一个特定的提交ID(就像迦太基可能的那样)?

用例就是,假设我有一个库仓库,我想分支出来并进行一些更改,然后能够在依赖项目中测试它们.

Saa*_*man 7

有可能的。

  1. 前往项目
  2. 单击“包依赖项”选项卡
  3. 双击要更改分支的包
  4. 指定分支/提交。

在这里选择分支或提交


Tab*_*lly 6

从Swift 4开始,您可以使用.branch().revision()PackageDescription.md中所述。 

  • 这是一个示例: .package(url: "https://github.com/somePackage", .branch("develop")) (3认同)

Kos*_*val 1

还没有,但 swiftpm 团队正在努力。现在,您必须在声明依赖项时指定包版本。

import PackageDescription

let package = Package(
    name: "Example",
    dependencies: [
        .Package(url: "https://github.com/somePackage", "1.0.0")
    ]
)
Run Code Online (Sandbox Code Playgroud)

将来有可能,有人讨论过添加版本锁定,但尚未接受和实施。

对于您的用例,您可以分叉存储库,进行更改,测试它们,然后将版本标签添加到您的分叉中。现在,使用可编辑包功能进行更改变得更加容易。