我正在将相当大的代码库从 Java 移植到服务器端 Swift 4。代码本身将在 macOS 上开发,但最终会部署在 Linux 上。我使用 Swift Package Manager 创建了单独的模块项目。其中有几个是库项目,最后一个是一个可执行文件,将它们连接在一起以启动。我为每个模块生成了 Xcode 项目文件,以便我可以轻松地在 Xcode 中进行开发,并且我创建了一个 Xcode 工作区来将它们组合到一个 View 中。

我的问题是,如何指示这些本地模块之间的依赖关系?我的可执行模块显然将依赖于所有的库模块。我如何在我的 Package.swift 文件中表示它?我试过这样的事情......

let package = Package(
    name: "MySwiftExe",
    dependencies: [
        //.package(url: "../MySwiftLib", from: "1.0.0"),

...

但这无法建立。有没有办法指定位于同一文件系统上的依赖项?或者我是否需要 才能从 Git 中获取依赖项?

最佳答案

你的 URL 可以是相对的,所以 ../MySwiftLib 是完全有效的。但是,源目录必须是 git 存储库。建议给这个 repo 打上标签,但你也可以这样做:
.package(url: "../MySwiftLib", .branch("master"))
如果你想使用 master 分支上的任何代码。

希望这可以帮助!

关于 swift 4 : Local Dependencies with Swift Package Manager?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49819552/

10-16 06:20