Swift 开发包管理器
Swift Package Manager For Development
问题:
有没有一种方法可以用 SPM 创建一个类似于 cocoa pods 中的开发 pod 的 "development package",这样我就可以更改依赖包(本地路径)的实际源项目?
上下文:
我正在处理一个需要拆分为三个独立项目的项目。其中一个项目由其他两个项目共享(在本例中是一个数据模型,由服务器和客户端共享)。对于客户端,因为它使用 uikit,我有一个开发 cocoa pod 设置,让我可以在客户端工作区内工作,对数据模型项目进行编辑,然后立即编译和 运行。然后,我对数据模型所做的更改将保存在数据模型项目中。
但是,对于服务器,因为它完全是用 SPM 构建的,如果我想对数据模型项目进行编辑(我想将其反映给客户端),我目前必须在数据模型项目,然后用新的次要版本号重新标记它,清理服务器项目,然后重建。我很乐意像 cocoa pods.
那样设置它
如果我做不到,是否至少有一种方法可以告诉 SPM 仅将我的一个依赖项更新为新版本号(或 Package.swift 中指定的最大版本)。即 .4 的次要版本,所以如果我从 .401 重新标记为 .402,它会更新)?我原以为我可以在 Package.pins 中执行此操作,但这似乎不起作用。如果编辑它不会影响实际更改,不知道为什么它不是隐藏文件。
您称为 "development package" 的概念在 Swift 包管理器中称为 Editable Package:
For the packages which are in the editable state, swift build will always use the exact sources in this directory to build, regardless of its state, git repository status, tags, or the tag desired by dependency resolution. In other words, this will just build against the sources that are present.
问题: 有没有一种方法可以用 SPM 创建一个类似于 cocoa pods 中的开发 pod 的 "development package",这样我就可以更改依赖包(本地路径)的实际源项目?
上下文: 我正在处理一个需要拆分为三个独立项目的项目。其中一个项目由其他两个项目共享(在本例中是一个数据模型,由服务器和客户端共享)。对于客户端,因为它使用 uikit,我有一个开发 cocoa pod 设置,让我可以在客户端工作区内工作,对数据模型项目进行编辑,然后立即编译和 运行。然后,我对数据模型所做的更改将保存在数据模型项目中。
但是,对于服务器,因为它完全是用 SPM 构建的,如果我想对数据模型项目进行编辑(我想将其反映给客户端),我目前必须在数据模型项目,然后用新的次要版本号重新标记它,清理服务器项目,然后重建。我很乐意像 cocoa pods.
那样设置它如果我做不到,是否至少有一种方法可以告诉 SPM 仅将我的一个依赖项更新为新版本号(或 Package.swift 中指定的最大版本)。即 .4 的次要版本,所以如果我从 .401 重新标记为 .402,它会更新)?我原以为我可以在 Package.pins 中执行此操作,但这似乎不起作用。如果编辑它不会影响实际更改,不知道为什么它不是隐藏文件。
您称为 "development package" 的概念在 Swift 包管理器中称为 Editable Package:
For the packages which are in the editable state, swift build will always use the exact sources in this directory to build, regardless of its state, git repository status, tags, or the tag desired by dependency resolution. In other words, this will just build against the sources that are present.