Package.swift 的自定义编译

Custom compilation of Package.swift

是否可以将如下标记添加到 Package.swift 文件中?

#if DEBUG
  ...Code
#else

特别是,我试图加载一个用于 DEBUG 的包和一个为 RELEASE 打包的包,方法是将每个包放入各自用例的条件编译块中(这只是我用于 CLIENT 和SERVER,因为我不知道如何创建除 DEBUG 和 RELEASE 之外的自定义标志)。客户端使用 SQLite,服务器使用 PostgreSQL。我已经编写了一个测试库,它映射到一个文件,该文件被有条件地编译为使用适当的 SQL,所以现在真正唯一的问题是让 Package.swift 也有条件地编译。

与以下相比,这是一个不太完整的问题: 但简短的回答是不,你目前不能在你的包裹清单中这样做。

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

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