使用 SwiftPM 創(chuàng)建新的包

作者:Joe轩端,原文鏈接,原文日期:2016-01-31
譯者:shanks逝变;校對(duì):numbbbbb基茵;定稿:星夜暮晨

去年 11 月,我在 Swift 的 JIRA 中創(chuàng)建了一個(gè) SwiftPM 的改進(jìn)建議:SR-353壳影,在 swift build 中拱层,添加一個(gè)類似于 npm init 的包初始化命令,用來創(chuàng)建 Swift 包需要的所有目錄和文件宴咧。這個(gè)提議創(chuàng)建之后不久根灯,Bastian RinscheTobias Landsberg 就實(shí)現(xiàn)了這個(gè)特性,而且 PR 被合并掺栅。Bastian 還寫了一篇非常棒的文章介紹他對(duì)于 Swift 開源的一些認(rèn)識(shí)烙肺,并且介紹了他們實(shí)現(xiàn)的swift build --init命令。

讓我們看看具體應(yīng)該怎么做氧卧。首先桃笙,使用 mkdir 創(chuàng)建一個(gè)新的目錄,用來放置你的包或者應(yīng)用沙绝。這里我們使用 helloworld 作為例子:mkdir helloworld搏明。然后,使用 cd 命令進(jìn)入 helloworld 目錄闪檬,運(yùn)行命令:swift build --init星著。

bash
# cd helloworld
# swift build --init
Creating Package.swift
Creating .gitignore
Creating Sources/
Creating Sources/main.swift
Creating Tests/

我們看看 swift build --init 生成的內(nèi)容:

  • Package.swift:包的"配置信息"(manifest)。swift build --init使用你創(chuàng)建的目錄名作為包名粗悯。
  • Sources目錄:按照 SwiftPM 的要求虚循,所有的源代碼文件都放到 Sources 目錄下。
  • main.swift:Swift 應(yīng)用使用 main.swift(有且只有一個(gè))作為程序執(zhí)行的入口样傍。
  • Tests 目錄:存放應(yīng)用的測(cè)試用例横缔。后面會(huì)詳細(xì)介紹。
  • .gitignore:一個(gè)便捷的 git gitignore 文件铭乾,忽略一些本地編譯時(shí)用到的配置目錄和文件剪廉,比如: .buildPackages 目錄(一些你不想加入到 git 庫的東西)娃循。

在這個(gè) helloword 例子中炕檩,Package.swift 文件內(nèi)容如下:

import PackageDescription

let package = Package(
    name: "helloworld"
)

運(yùn)行 swift build 會(huì)創(chuàng)建可執(zhí)行文件 .build/debug/helloworld,運(yùn)行這個(gè)文件就會(huì)在終端輸出 Hello, world!.

如果你想編譯一個(gè) Swift 庫,只需要?jiǎng)h除 main.swift 文件笛质,然后替換成你的庫代碼泉沾。在沒有 main.swift 的情況下,SwiftPM 會(huì)創(chuàng)建一個(gè)靜態(tài)的庫妇押。

Tests 目錄

swift build --init 命令還添加了 Tests 目錄跷究,這個(gè)目錄是為以后的自動(dòng)化測(cè)試準(zhǔn)備的。相關(guān)內(nèi)容請(qǐng)閱讀 SR-592SE-0019敲霍,未來 SwiftPM 會(huì)支持自動(dòng)化測(cè)試俊马。

獲取 Ubuntu 下的 Swift 安裝包

如果你想嘗試一下 swift build --init, 需要獲取 Ubuntu 上最新的 Swift 2.2 包(寫本文時(shí),版本號(hào)是:version 2.2-0ubuntu15)肩杈。請(qǐng)查看這篇文章獲取更多的信息柴我。如果想了解更多關(guān)于 SwiftPM 的信息,請(qǐng)閱讀本文介紹扩然。做一個(gè)快樂的 Swift 程序員吧艘儒!

本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權(quán)夫偶,最新文章請(qǐng)?jiān)L問 http://swift.gg界睁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市兵拢,隨后出現(xiàn)的幾起案子翻斟,更是在濱河造成了極大的恐慌,老刑警劉巖说铃,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杨赤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡截汪,警方通過查閱死者的電腦和手機(jī)疾牲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衙解,“玉大人阳柔,你說我怎么就攤上這事◎韭停” “怎么了舌剂?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)暑椰。 經(jīng)常有香客問我霍转,道長(zhǎng),這世上最難降的妖魔是什么一汽? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任避消,我火速辦了婚禮低滩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岩喷。我一直安慰自己恕沫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布纱意。 她就那樣靜靜地躺著婶溯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪偷霉。 梳的紋絲不亂的頭發(fā)上迄委,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音类少,去河邊找鬼跑筝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瞒滴,可吹牛的內(nèi)容都是我干的曲梗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼妓忍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼虏两!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起世剖,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤定罢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后旁瘫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祖凫,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年酬凳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惠况。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宁仔,死狀恐怖稠屠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翎苫,我是刑警寧澤权埠,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站煎谍,受9級(jí)特大地震影響攘蔽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呐粘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一满俗、第九天 我趴在偏房一處隱蔽的房頂上張望转捕。 院中可真熱鬧,春花似錦漫雷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谤辜,卻和暖如春蓄坏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丑念。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工涡戳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脯倚。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓渔彰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親推正。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恍涂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)植榕,斷路器再沧,智...
    卡卡羅2017閱讀 134,672評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,826評(píng)論 6 342
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件尊残、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,109評(píng)論 4 62
  • 向前寝衫,哪怕影子是傾斜的 文/陳耀昌 - ◎在橋上等父親 - 雖然天亮了顷扩,他的白發(fā)并沒有回到 與夜齊平的水面 垂釣者...
    世界詩歌文學(xué)閱讀 393評(píng)論 0 0
  • 讀《潛意識(shí):控制你行為的秘密》(美國(guó)屎即,列納德.蒙洛迪諾著)有感(上) 我曾經(jīng)學(xué)過精神動(dòng)力學(xué)的初級(jí)課程,知道了人的潛...
    可可兒媽閱讀 629評(píng)論 0 1