我正在将相当大的代码库从Java移植到服务器端Swift 4.这段代码本身将在macOS上开发,但最终部署在Linux上。我使用Swift Package Manager创建了单独的模块项目。其中一些是库项目,最终是一个可执行文件,将它们连接在一起以启动。我为每个模块生成了Xcode项目文件,以便我可以在Xcode中轻松开发,并且我已经创建了一个Xcode工作区,将它们组合在一起成为一个视图。
我的问题是,如何指出这些本地模块之间的依赖关系?我的可执行模块显然将依赖于所有库模块。我如何在Package.swift
文件中表示这一点?我尝试过这样的事情......
let package = Package(
name: "MySwiftExe",
dependencies: [
//.package(url: "../MySwiftLib", from: "1.0.0"),
...
但那无法建立。有没有办法指定位于同一文件系统上的依赖项?或者我 必需 从Git获取依赖项?
答案 0 :(得分:3)
您的URL可以是相对的,因此../MySwiftLib
是完全有效的。但是,源目录必须是git存储库。建议对此仓库进行标记,但您也可以这样做:
.package(url: "../MySwiftLib", .branch("master")
如果您想使用master
分支上的任何代码。
希望这会有所帮助!
答案 1 :(得分:2)
将网址值设置为file:///path/to/swiftlib
:
let package = Package(
name: "MySwiftExe",
dependencies: [
.package(url: "file:///path/to/MySwiftLib", from: "1.0.0"),
...