0

我有两个 Swift PM 项目,它们都使用一些我想存储在单独项目中的通用代码,比如一个库,然后这两个可以导入。

我已经使用 swift init --type 库等来构建一个库,但是是否有任何其他记录方式可以将其包含在其他项目中,而无需将其提交到 github 并将 repo 的链接提供给 swift 包管理器?

我正在考虑构建库项目的思路,并有一个脚本将其复制粘贴到其他项目需要访问的地方(如果需要,可以在他们自己的目录中)

4

1 回答 1

0

根据Swift 包管理器使用文档,一个 swift 包设计为用作 git 存储库。

简而言之:[Swift] 包是一个带有语义版本标签的 git 存储库,其中包含 Swift 源代码和位于其根目录的 Package.swift 清单文件。

也就是说,依赖项文档部分指出依赖路径可以是本地路径

[Dependencies] 是包所依赖的包列表。您可以指定任何有效 Swift 包的 URL(或本地路径)。

请注意,git 标签对于管理包含哪个版本的依赖包很有用(需要)。

// 1.5.8 ..< 2.0.0
.package(url: "path/SharedPackage", .upToNextMajor(from: "1.5.8")),
// Constraint to an arbitrary closed range.
.package(url: "path/SharedPackage", "1.2.3"..."1.2.8"),
// Branch and revision.
.package(url: "path/SharedPackage", .branch("develop")),

关键点:

  1. 将本地包视为同一个本地 git 存储库仍然可以使一个人的工作流程与 Swift 包管理器设计保持一致。
  2. 不需要一些远程或额外的 git 存储库,因为可以使用 Swift 包的本地依赖路径。

基本上,对于仅限本地、某些共享代码的用例,可能值得考虑以更简化和流线型的方式使用 git。

于 2017-11-29T09:13:26.360 回答