Package.swift

时间:2016-10-15 19:19:43

标签: swift-package-manager

是否可以在Package.swift文件中添加如下所示的标志?

#if DEBUG
  ...Code
#else

特别是,我试图为DEBUG加载一个包,并为每个包装入RELEASE,方法是将每个包放在条件编译块中,与其用例相对应(这只是我用来表示的命名法) CLIENT和SERVER,我无法想象如何创建除DEBUG和RELEASE之外的自定义标志)。客户端使用SQLite,服务器使用PostgreSQL。我编写了一个测试库,它映射到一个有条件编译的文件以使用适当的SQL,所以现在唯一的问题是让Package.swift有条件地编译。

1 个答案:

答案 0 :(得分:1)

这是一个不太完整的问题,而不是:   Swift package manager conditional compile not respecting flags 但简短的回答是,你现在无法在你的包裹清单中做到这一点。

对于您的用例,期望您只需将客户端和服务器定义为包中的并行产品。目前,两者都将永久构建,但在未来我们预计可以选择允许您构建部分包。

如果您真的希望它们是独立构建的,您可以将每个包构建在一个单独的包之上,在该包中放置所有共享功能。