我想配置 Package.swift 以便一个目标成为另一个目标的扩展,它们都应该共享一个文件夹中的相同代码,但对于“扩展”版本,还有一个额外的子文件夹。但我尝试使用的配置path
因“重叠源”错误而失败。那么,如何使两个目标具有相同的源文件夹呢?
.target(name: "App", dependencies: [ "Vapor" ... ], exclude: [ "Subfolder" ])
.target(name: "Extended", dependencies: [ "Vapor", ... ], path: "./Sources/App")
swift build ... error: target 'Extended' has sources overlapping sources...
SwiftPM 对于一个目标拥有这些文件非常严格。因此,您需要为您的文件设置适当的依赖链。
这听起来像Extended
添加更多功能App
在这种情况下。如果是这样你想拥有App
当前的所有事情。然后有Extended
取决于App
并建造所有专属于它的东西。
这允许 1 个目标拥有源文件并允许Extended
使用这些文件的一个实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)