我在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开发人员提交功能请求的最佳方法是什么?
答案 0 :(得分:0)
在同一个git存储库中不能有两个Swift包。 Swift包管理器将包定义为:
包是Git存储库,标记有语义版本,在其根目录下包含Package.swift文件。正在初始化 package创建了一个Package.swift文件,但要使其成为可用的包 我们需要初始化一个至少有一个版本标签的Git存储库。
您的选择是为依赖项创建单独的存储库/包,或者使用一个存储库并将代码移到单独的模块/目标中。
如果您需要提交功能,我首先会在Swift forums中开始讨论,描述您的目标并向社群请求反馈。 Swift PM的代码托管在github中,您始终可以使用新功能提交拉取请求。有关该流程的更多信息是described here。