9.1.7 SwiftPM 5.5 发布说明
2 分钟阅读
原文链接: https://docs.swift.org/latest/documentation/packagemanagerdocs/5.5/
9.1.7 SwiftPM 5.5 发布说明
包集合
你现在可以使用包集合来发现、管理和发布经过整理的包列表。包集合以静态 JSON 文档的形式编写,可以发布到网上,也可以分发到本地文件系统。SwiftPM 和 Xcode 在本地共享同一份包集合,因此任一界面都可以管理你添加的集合。
要试用官方的 Apple Swift Packages 集合,请运行:
swift package-collection add https://developer.apple.com/swift/packages/collections/apple.json
然后,要查看该集合中包含哪些、现在可以在你的代码中导入的包,请运行:
swift package-collection describe https://developer.apple.com/swift/packages/collections/apple.json
关于用法以及如何发布自己的包集合的更多信息,参见包集合文档。
可执行目标测试
测试目标现在可以像链接库一样链接可执行目标,从而可以测试其中的任何数据结构或算法。除了主入口点本身之外,可执行文件中的所有代码都对单元测试可用。独立的可执行文件仍会被链接,并且可以像以前一样作为子进程来测试。工具版本为 5.5 或更高的包中定义的测试可以使用这项特性。(#3316)
清单 API 的改进
新增了两个依赖便捷构造器 (#3292, #3310):
.package(url: String, revision: String)
.package(url: String, branch: String)
基于目标的依赖解析也得到了改进。现在接受更直观的 .product(name:, package:) 语法,其中 package 是由包 URL 定义的包名。(#3280)
其他改进
只要源文件名不是 main.swift,现在就可以在单源文件可执行文件中使用 @main。为了绕开单文件模块的特殊编译器语义,当可执行模块只包含一个名称不是 main.swift 的 Swift 源文件时,SwiftPM 现在会传入 -parse-as-library。工具版本为 5.5 或更高的包可以使用这项特性。(#3410)
修复了带二进制依赖的包在解析时无法解压二进制归档的问题。(#3507)