作为没有回购的库的项目之间的共享代码?

时间:2017-04-25 13:17:35

标签: swift swift-package-manager

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

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

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

1 个答案:

答案 0 :(得分:0)

根据Swift Package Manager Usage documentation,swift包 旨在用作git存储库。

  

简单地说: [Swift]包是一个带有语义版本标签的git存储库,它包含Swift源和一个Package.swift清单文件。

也就是说,dependencies documentation section表示依赖路径可以是本地路径

  

[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 Package Manager设计对齐。
  2. 不需要某些远程或额外的git存储库,因为可以使用Swift软件包的本地依赖路径。
  3. 基本上,以更简化和简化的方式使用git可能值得考虑使用仅限本地的,一些共享代码的用例。