问题:存储库子目录中的 Swift 包管理器依赖项

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

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

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

但是我知道使用 Swift 包管理器指定依赖[的唯一方法是当包位于存储库的顶层时:

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

我需要的是类似于.package(url: "http://github.com/Some/Repository, dir: "swift-package"...)的东西。

我无法将包移出到单独的存储库。

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

解答

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

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

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

如果您需要提交功能,我将首先在Swift 论坛中进行讨论,描述您的目标并请求社区提供反馈。 Swift PM 的代码托管在github您可以随时提交带有新功能的拉取请求。有关该过程的更多信息是此处描述的。

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐