源代码兼容性是 Swift 未来的目标。为了实现这一目标,(苹果公司的 swift 编译器团队)建立了一个源兼容性测试套件,用于根据 Swift 源代码(逐渐增加)语料库对编译器进行回归测试更改。 添加到这个测试套件的项目,都会针对Swift的最新开发版本进行定期构建,实现Swift持续系统集成,也让 Swift 编译器开发人员能够深刻理解 Swift 语言在现实应用中的兼容性要求。

当前项目清单:

添加项目

Swift源兼容性测试套件是社区驱动的,这意味着开源Swift项目所有者可以提交符合验收标准的项目,以纳入测试套件。添加到套件中的项目可用作通用源兼容性测试。

验收标准

要进入Swift源代码兼容性测试套件,项目必须符合以下要求:

  1. 目标为Linux,macOS或iOS / tvOS / watchOS设备

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

  3. 支持在linux或macOS上构建

  4. 托管在可公开访问的Git仓库中

  5. 产品分支使用Swift 3.0兼容性编译,并通过所有单元测试

  6. 有维护者及时解决问题

  7. 与最新GM / Beta版本的Xcode和swiftpm兼容

  8. 而且项目功能与在编项目没有重叠

  9. 使用以下开源协议:

  • BSD

  • MIT

  • Apache License, version 2.0

  • Eclipse Public License

  • Mozilla Public License (MPL) 1.1

  • MPL 2.0

  • CDDL

添加项目

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

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

  2. 针对源代码兼容性套件存储库创建一个提取请求,修改projects.json以包含要添加到测试套件中的项目引用。

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

添加向项目模板等更多内容请查看 Swift 官方网站

苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单的更多相关文章

  1. 关于苹果公司最新的语言Swift

    Swift供IOS和OSX新的编程语言开发的应用程序,吸取C和Objective-C质朴的语言.但没有损失C兼容性语言.Swift使用安全的编程模型.增加各种现代编程语言功能,使语言更容易掌握.更具可 ...

  2. 学习swift开源项目

    如果你是位iOS开发者,或者你正想进入该行业,那么Swift为你提供了一个绝佳的机会.Swift的设计非常优雅,较Obj-C更易于学习,当然也非常强大. 为了指导开发者使用Swift进行开发,苹果发布 ...

  3. 学习Swift,一定不能错过的10大开源项目!

    如果你是位iOS开发者,或者你正想进入该行业,那么Swift为你提供了一个绝佳的机会.Swift的设计非常优雅,较Obj-C更易于学习,当然也非常强大. 为了指导开发者使用Swift进行开发,苹果发布 ...

  4. 400多个开源项目以及43个优秀的Swift开源项目-Swift编程语言资料大合集

    Swift 基于C和Objective-C,是供iOS和OS X应用编程的全新语言,更加高效.现代.安全,可以提升应用性能,同时降低开发难度. Swift仍然处于beta测试的阶段,会在iOS 8发布 ...

  5. Apple公司Darwin流式服务器源代码分析

    当前,伴随着Internet的飞速发展,计算机网络已经进入到每一个普通人的家庭.在这个过程中,一个值得我们关注的现象是:Internet中存储和传输内容的构成已经发生了本质的改变,从传统的基于文本或少 ...

  6. iOS—如何申请苹果公司开发者账号流程详细图文介绍(包括邓白氏编码的申请方法详细介绍)

    我们要申请开发者账号,首先就需要先注册一个苹果的apple id,然后再这个账号的基础上去继续,这个相信大家都知道 这是申请appleid的地址:https://appleid.apple.com/a ...

  7. ios(苹果公司的移动操作系统)

    iOS是由苹果公司开发的移动操作系统. 苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的, 后来陆续套用到iPod touch.iPad以及Appl ...

  8. 苹果iOS苹果公司的手机用户都有权索赔

    大家知道.手机中的操作系统(基础软件)存储在手机固(firm,ware)之中,一般而言,手机用户自己是不能修改的. 苹果iOS手机的系统后门(服务程序)也存储在手机固件之中.手机用户自己是无法删除的. ...

  9. 操作系统-移动操作系统-百科: iOS(苹果公司的移动操作系统)

    ylbtech-操作系统-移动操作系统-百科: iOS(苹果公司的移动操作系统) iOS是由苹果公司开发的移动操作系统.苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计 ...

随机推荐

  1. Ajax及jQuery学习

    AJAX(Asynchronous JavaScript and XML),异步的javaScript与XML AJax中一个重要的对象是XMLHttpRequest. function ajaxSu ...

  2. 分析比较KafkaWordCount及DierctKafkaWordCount

    参考spark官方文档,Spark Streaming + Kafka Integration Guide,其中提到Spark Streaming如何从Kafka中接收数据.主要有两种方法,一种是使用 ...

  3. 【Android 应用开发】 FastJson 使用详解

    博客地址 :http://blog.csdn.net/shulianghan/article/details/41011605 fastjson 源码地址 : -- GitHub : https:// ...

  4. String之常量池小结

    1.String 常量池 String使用private final char value[ ]实现字符串的存储,也就是说String创建对象之后不能够再次修改此对象中存储的字符串内容,因而Strin ...

  5. MySQL语句高效写法整理

    优先使用INNER JOIN 多表关联查询,扫描的行尽量少         关联的时候下条件减少扫描的行数 SELECT     ... FROM     ad_ad_summary_for_pos_ ...

  6. Mybatis接口编程原理分析(三)

    前面两篇博客Mybatis接口编程原理分析(一)和Mybatis接口编程原理分析(二)我们介绍了MapperProxyFactory.MapperProxy和MapperMethod的操作及源码分析, ...

  7. C语言实现万年历

    给出你想知道的年份,便可以计算出该年对应的每个月每个日所对应的星期数,是不是感觉很好玩 ? #include <stdio.h> #include<stdlib.h> long ...

  8. C++异常处理基本思想

    传统错误处理机制 通过函数返回值来处理错误. 异常处理的基本思想 1)C++的异常处理机制使得异常的引发和异常的处理不必在同一个函数中,这样底层的函数可以着重解决具体问题,而不必过多的考虑异常的处理. ...

  9. Dynamics CRM2011 通过DeveloperToolkit在VS中部署遇到的问题

    接上一篇继续,说个在部署的过程中我遇到了个问题:"Error registering plugins and/or workflows. Plug-in assembly does not ...

  10. android自定义viewgroup初步之一----抽屉菜单

    转载请注明出处 http://blog.csdn.net/wingichoy/article/details/47832151 几天前在慕课网上看到鸿洋老师的 自定义卫星菜单,感觉很有意思,于是看完视 ...