存储库子目录中的Swift Package Manager依赖项

时间:2018-02-07 14:26:44

标签: swift github swift-package-manager

我在GitHub中的git存储库的子目录中有一个Swift包。树看起来像这样:

.
├── swift-package
│   ├── Package.swift
│   └── Sources
│       └── SomeLibrary
│           └── Library.swift
└── some-other-files

我想将swift-package添加为另一个项目的依赖项。

specifying a dependency使用Swift Package Manager的唯一方法就是当包在存储库的顶层时:

dependencies: [
    .package(url: "http://github.com/Some/Repository, from: "1.2.3"),
],

我需要的是.package(url: "http://github.com/Some/Repository, dir: "swift-package"...)的内容。

我无法将软件包移到单独的存储库中。

有没有办法使用Swift Package Manager实现这样的目标?如果没有,我的选择是什么?另外,向Swift Package Manger开发人员提交功能请求的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

在同一个git存储库中不能有两个Swift包。 Swift包管理器将包定义为:

  

包是Git存储库,标记有语义版本,在其根目录下包含Package.swift文件。正在初始化   package创建了一个Package.swift文件,但要使其成为可用的包   我们需要初始化一个至少有一个版本标签的Git存储库。

您的选择是为依赖项创建单独的存储库/包,或者使用一个存储库并将代码移到单独的模块/目标中。

如果您需要提交功能,我首先会在Swift forums中开始讨论,描述您的目标并向社群请求反馈。 Swift PM的代码托管在github中,您始终可以使用新功能提交拉取请求。有关该流程的更多信息是described here