科技网

当前位置: 首页 >VR

苹果公司揭秘首批列入Swift源代码兼容

来源: 作者: 2018-08-19 20:11:51

苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单

近日,苹果公司在Swift 官方站上正式发布首批列入源代码兼容性开源项目的清单。源代码兼容性问题是未来 Swift 新版本的重要目标。为了实现这个目标,(苹果公司的 Swift 编译器团队)建立了一个开放社区公有的源代码测试套件,用于 Swift 自身编译器的源代码在逐渐开发过程中针对这些源代码保持回归测试兼容性。凡是列入到本测试套件的项目,均会针对 Swift 最新开发版本进行定期编译测试,以实现 Swift 持续系统集成,也为我们的 Swift 编译器程序员能够深刻理解 Swift 语言在现实应用中的兼容性要求。

首批项目清单:

AMScrollingNavbar

Alamofire

AsyncNinja

BlueSocket

DNS

Dollar

ift

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

验收标准   被列编入本项目的基本条件包括:

项目编译目标位 Linux / macOS 或者 iOS / tvOS / watchOS设备

使用Xcode或者SPM软件包管理器

同时支持在Linux / macOS上编译

源代码开放,使用git方式在互联上公开

产品分支使用Swift 3.0兼容性编译

有稳定的团队长期维护项目

能够兼容最新的Xcode / swiftpm 测试版编译

而且项目功能与在编项目没有重叠(换句话说即使符合条件但如果与我们Perfect功能雷同则不会被列编)

允许使用的开源协议:

BSD

MIT

Apache License, version 2.0

Eclipse Public License

Mozilla Public License (MPL) 1.1

MPL 2.0

CDDL

添加项目   要将满足验收标准的项目添加到套件中,需要执行以下步骤:

确保项目在针对 Swift 3.0 GM 特定情况下成功构建;

根据开源兼容性套件存储库创建一个提取请求,修改 on 以包含要添加到测试套件中的项目引用。

项目索引是一个 JSON 文件,其中包含包含 Xcode 或 Swift Package Manager 目标操作的存储库列表。

添加新的 Swift Package Manager 项目,案例如下:

{ repository: Git,

url:

path: project,

branch: master,

maintainer: email@,

compatibility: {

3.0: {

commit: 195cd8cde2bb717242b3081f9c367ccd0a2f0121} },

platforms: [

Darwin],

actions: [ {

action: BuildSwiftPackage,

configuration: release}, {

action: TestSwiftPackage} ]}

commit 字段指定提交哈希值将存储库固定。它包含在一个compatibility 字段中,该字段指定了 Swift 的版本,该版本已知可以编译。可以指定与 Swift 的不同版本兼容的多个 commit 。

platforms字段指定可用于构建项目的平台。目前可以指定 Linux 和 Darwin。

如果不支持测试,请删除测试操作条目。

添加新的 Swift Xcode 工作区,可使用如下模板:

{ repository: Git,

url:

path: project,

branch: master,

maintainer: email@,

compatibility: {

3.0: {

commit: 195cd8cde2bb717242b3081f9c367ccd0a2f0121} },

platforms: [

Darwin],

actions: [ {

action: BuildXcodeWorkspaceScheme,

workspace: workspace,

scheme: project OSX,

destination: platform=macOS,

configuration: Release}, {

action: BuildXcodeWorkspaceScheme,

workspace: workspace,

scheme: project iOS,

destination: generic/platform=iOS,

configuration: Release}, {

action: BuildXcodeWorkspaceScheme,

workspace: workspace,

scheme: project tvOS,

destination: generic/platform=tvOS,

configuration: Release}, {

action: BuildXcodeWorkspaceScheme,

workspace: workspace,

scheme: project watchOS,

destination: generic/platform=watchOS,

configuration: Release}, {

action: TestXcodeWorkspaceScheme,

workspace: workspace,

scheme: project OSX,

destination: platform=macOS}, {

action: TestXcodeWorkspaceScheme

苹果公司揭秘首批列入Swift源代码兼容

,

workspace: workspace,

scheme: project iOS,

destination: platform=iOS Simulator,name=iPhone 7}, {

action: TestXcodeWorkspaceScheme,

workspace: workspace,

scheme: project tvOS,

destination: platform=tvOS Simulator,name=Apple TV 1080p} ]}

添加新的 Swift Xcode 项目,模板如下:

{

repository: Git,

url:

path: project,

branch: master,

maintainer: email@,

compatibility: {

3.0: {

commit: 195cd8cde2bb717242b3081f9c367ccd0a2f0121} },

platforms: [

Darwin],

actions: [ { action: BuildXcodeProjectTarget,

project: odeproj,

target: project,

destination: generic/platform=iOS,

configuration: Release} ]}

更多精彩内容,详见 Swift 官方站:

相关推荐