源代码兼容性是 Swift 未来的目标。为了实现这一目标,(苹果公司的 Swift 编译器团队)建立了一个源兼容性测试套件,用于根据 Swift 源代码(逐渐增加)语料库对编译器进行回归测试更改。 添加到这个测试套件的项目,都会针对Swift的最新开发版本进行定期构建,实现Swift持续系统集成,也让 Swift 编译器开发人员能够深刻理解 Swift 语言在现实应用中的兼容性要求。
当前项目清单:
AMScrollingNavbar
Alamofire
AsyncNinja
BlueSocket
DNS
Dollar
GRDB.swift
Guitar
IBAnimatable
Kickstarter-Prelude
Kickstarter-ReactiveExtensions
Kingfisher
Kronos
Kitura
Lark
mapper
ObjectMapper
Perfect
PinkyPromise
Plank
PromiseKit
Realm
ReSwift
ReactiveCocoa
ReactiveSwift
RxDataSources
SRP
Serpent
Sourcery
Starscream
Surge
SwiftDate
SwiftGraph
panelkit
siesta
swiftlint
vapor
添加项目
Swift源兼容性测试套件是社区驱动的,这意味着开源Swift项目所有者可以提交符合验收标准的项目,以纳入测试套件。添加到套件中的项目可用作通用源兼容性测试。
验收标准
要进入Swift源代码兼容性测试套件,项目必须符合以下要求:
目标为Linux,macOS或iOS / tvOS / watchOS设备
使用Xcode或者SPM软件包管理器
支持在Linux或macOS上构建
托管在可公开访问的git仓库中
产品分支使用Swift 3.0兼容性编译,并通过所有单元测试
有维护者及时解决问题
与最新GM / Beta版本的Xcode和swiftpm兼容
而且项目功能与在编项目没有重叠
使用以下开源协议:
BSD
MIT
Apache License, version 2.0
Eclipse Public License
Mozilla Public License (MPL) 1.1
MPL 2.0
CDDL
添加项目
要将满足验收标准的项目添加到套件中,请执行以下步骤:
确保项目在针对Swift 3.0 GM特定情况下成功构建
针对源代码兼容性套件存储库创建一个提取请求,修改projects.json以包含要添加到测试套件中的项目引用。
项目索引是一个JSON文件,其中包含Xcode 或Swift Package Manager目标操作的存储库列表。
添加向项目模板等更多内容请查看 Swift 官方网站
本文来自开源中国社区 [http://www.oschina.net]