近日,蘋果公司在 Swift 官方網站上正式發布首批列入源代碼兼容性開源項目的清單。源代碼兼容性問題是未來 Swift 新版本的重要目標。為了實現這個目標,(蘋果公司的 Swift 編譯器團隊)建立了一個開放社區公有的源代碼測試套件,用于 Swift 自身編譯器的源代碼在逐漸開發過程中針對這些源代碼保持回歸測試兼容性。凡是列入到本測試套件的項目,均會針對 Swift 新開發版本進行定期編譯測試,以實現 Swift 持續系統集成,也為我們的 Swift 編譯器程序員能夠深刻理解 Swift 語言在現實應用中的兼容性要求。
被列編入本項目的基本條件包括:
要將滿足驗收標準的項目添加到套件中,需要執行以下步驟:
項目索引是一個 JSON 文件,其中包含包含 Xcode 或 Swift Package Manager 目標操作的存儲庫列表。
添加新的 Swift Package Manager 項目,案例如下:
{
"repository": "Git",
"url": "https://github.com/example/project.git",
"path": "project",
"branch": "master",
"maintainer": "email@example.com",
"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": "https://github.com/example/project.git",
"path": "project",
"branch": "master",
"maintainer": "email@example.com",
"compatibility": {
"3.0": {
"commit": "195cd8cde2bb717242b3081f9c367ccd0a2f0121" } },
"platforms": [ "Darwin" ],
"actions": [
{
"action": "BuildXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project OSX",
"destination": "platform=macOS",
"configuration": "Release" },
{
"action": "BuildXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project iOS",
"destination": "generic/platform=iOS",
"configuration": "Release" },
{
"action": "BuildXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project tvOS",
"destination": "generic/platform=tvOS",
"configuration": "Release" },
{
"action": "BuildXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project watchOS",
"destination": "generic/platform=watchOS",
"configuration": "Release" },
{
"action": "TestXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project OSX",
"destination": "platform=macOS" },
{
"action": "TestXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project iOS",
"destination": "platform=iOS Simulator,name=iPhone 7" },
{
"action": "TestXcodeWorkspaceScheme",
"workspace": "project.xcworkspace",
"scheme": "project tvOS",
"destination": "platform=tvOS Simulator,name=Apple TV 1080p" }
] }
添加新的 Swift Xcode 項目,模板如下:
{
"repository": "Git",
"url": "https://github.com/example/project.git",
"path": "project",
"branch": "master",
"maintainer": "email@example.com",
"compatibility": {
"3.0": {
"commit": "195cd8cde2bb717242b3081f9c367ccd0a2f0121" } },
"platforms": [ "Darwin" ],
"actions": [
{
"action": "BuildXcodeProjectTarget",
"project": "project.xcodeproj",
"target": "project",
"destination": "generic/platform=iOS",
"configuration": "Release" }
] }
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。